Application and portability of vehicle functionality profiles

ABSTRACT

Application and portability of vehicle functionality profiles are facilitated. For instance, an example method may include receiving data indicative of an identity of a user. The method may include determining, based on the identity, that the user has vehicle profile setting privileges for the vehicle. The method may include receiving a vehicle profile associated with the user to apply to the vehicle to adjust at least one operating parameter of the vehicle. The vehicle profile is one of a plurality of predetermined vehicle profiles selectable by the user. The method may include determining whether the first vehicle profile can be applied to the vehicle; and, in response to determining the first vehicle profile can be applied to the vehicle, applying the first vehicle profile to the vehicle that causes an operation of the vehicle.

RELATED APPLICATION

The subject patent application is a continuation of, and claims priorityto, U.S. patent application Ser. No. 16/108,032, filed Aug. 21, 2018,and entitled “APPLICATION AND PORTABILITY OF VEHICLE FUNCTIONALITYPROFILES,” the entirety of which application is hereby incorporated byreference herein.

TECHNICAL FIELD

This disclosure relates generally to vehicle operation, moreparticularly, to application and portability of vehicle functionalityprofiles.

BACKGROUND

Vehicles may be controlled by networks of embedded systems, calledelectronic control units (ECUs), which control different aspects ofvehicle performance and functionality. In some instances, an ECU maycontrol an individual system or functionality of a vehicle. That is, theECU may control and/or adjust components of the system with which theECU is associated according to given operating parameters (e.g., maximumhorsepower, gear shifting ratio, spark plug timing, air intake valveangle, fuel injection quantity, air/fuel ratio, etc.). For example, oneor more ECUs may control engine operation as well as entertainment,speed control, power train, navigation, transmission, suspension, andbraking systems. In some cases, decentralized control of a vehicle maybe facilitated by using a control area network (CAN) bus standard thatallows ECUs to communicate with one another without the need for a hostcomputer (e.g., head unit). Operating parameters for the ECUs may be setand adjusted based on manufacturer's settings and/or user selection forexample. In the various operating scenarios/applications, setting and/oradjusting of operating parameters applied to a vehicle may befacilitated through communication between the vehicle and other devices.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A through 1D illustrate examples of network environments forfacilitating application and portability of vehicle functionalityprofiles and vehicle ride preferences in accordance with one or moreembodiments of the present disclosure.

FIG. 2 illustrates an example of a vehicle in accordance with one ormore embodiments of the present disclosure.

FIG. 3 illustrates an example of a table of vehicle functionalityprofiles in accordance with one or more embodiments of the presentdisclosure.

FIG. 4 is a block diagram of an example implementation of a vehiclecontrol unit of the vehicle of FIG. 2 in accordance with one or moreembodiments of the present disclosure.

FIG. 5 illustrates a flow diagram of an example of a process forfacilitating application and portability of vehicle functionalityprofiles and vehicle ride preferences in accordance with one or moreembodiments of the present disclosure.

FIG. 6 illustrates a block diagram of an example of an electronic systemwith which one or more embodiments of the present disclosure may beimplemented.

Embodiments of the present disclosure and their advantages are bestunderstood by referring to the detailed description that follows. Itshould be appreciated that like reference numerals are used to identifylike elements illustrated in one or more of the figures, where showingstherein are for purposes of illustrating embodiments of the presentdisclosure and not for purposes of limiting the same.

DETAILED DESCRIPTION

A more complete understanding of embodiments of the disclosure will beafforded to those skilled in the art, as well as a realization ofadditional advantages thereof, by a consideration of the followingdetailed description of one or more embodiments.

The detailed description set forth below is intended as a description ofvarious configurations of the subject technology and is not intended torepresent the only configurations in which the subject technology can bepracticed. The appended drawings are incorporated herein and constitutea part of the detailed description. The detailed description includesspecific details for the purpose of providing a thorough understandingof the subject technology. However, it will be clear and apparent tothose skilled in the art that the subject technology is not limited tothe specific details set forth herein and may be practiced using one ormore embodiments. In one or more instances, structures and componentsare shown in block diagram form in order to avoid obscuring the conceptsof the subject technology. One or more embodiments of the subjectdisclosure are illustrated by and/or described in connection with one ormore figures and are set forth in the claims.

Using various embodiments, application and portability of vehiclefunctionality profiles may allow users to set a feel and/or performanceof vehicles. The various embodiments may be used for terrestrialvehicles (e.g., cars), naval vehicles, aerial vehicles, or generally anyvehicle for which vehicle functionality profiles may be defined andapplied (e.g., to enhance user experience and/or vehicle performance).The vehicles may be manned vehicles (e.g., including self-drivingvehicles), unmanned vehicles (e.g., unmanned cars, unmanned aerialvehicles (UAVs)), or varying degrees thereof (e.g., unmanned drivefunctionality while providing ways to effectuate manual take-over).

Each vehicle functionality profile may be defined by a combination ofvalues set for various operating parameters that control differentsystems of the vehicle. By way of non-limiting examples, operationparameters may include stroke length, braking force, air intake angle,suspension height, and coolant flow rate. In an embodiment, the vehiclefunctionality profile may be associated with a make and model of avehicle. In applying such a vehicle functionality profile to a vehicle,the vehicle may emulate a feel and/or performance of a vehicle of themake and model.

In various aspects, for a given vehicle, a vehicle functionality profilemay be selected by a user using a user device (e.g., smartphone,smartwatch) and stored in the user device for convenient retrieval. Forexample, the user device may have an application (e.g., app) installedthat allows the user to select, via the app, the vehicle functionalityprofile to apply to the vehicle. In another embodiment, the vehiclefunctionality profile may be stored in the cloud or on a remote serveraccessible by the user device (e.g., with or without utilizing the app).The user device may transmit the vehicle functionality profile to thevehicle, and the vehicle may apply the vehicle functionality profile toprovide the user with a certain feel and/or performance corresponding tothe vehicle functionality profile. In some cases, the user may havemultiple user devices (e.g., with the appropriate application installed)that may interface with the vehicle. The vehicle may also have anappropriate application installed thereon for interfacing with the userdevice(s) (e.g., interfacing with the appropriate application installedon the user device(s)). In some cases, the user may associate the samevehicle functionality profile or different vehicle functionalityprofiles to different vehicles associated with the user.

In an embodiment, a vehicle may apply a vehicle functionality profileprovided by a user that has vehicle profile setting privileges. In somecases, a user having vehicle profile setting privileges may transfer thevehicle profile setting privileges to another user (e.g., temporarily,permanently, and/or conditionally). In an aspect, in cases wheremultiple users may have vehicle profile setting privileges, each ofthese users may be associated with a priority value such that thevehicle may apply the vehicle functionality profile provided by acurrent user of the vehicle that has the highest priority value. Forexample, the vehicle may request a vehicle functionality profile fromthe user associated with the highest priority value.

By tying the vehicle functionality profile(s) to the user device, theuser may readily set the vehicle functionality profile for any givenvehicle associated with the user. Such an approach may be moreconvenient than having the user manually set the vehicle functionalityprofile to apply to each vehicle on a vehicle-by-vehicle basis,especially in cases where the user is scheduled to use a given vehiclefor a short duration (e.g., has a short-term association with thevehicle).

In one or more embodiments, a method to facilitate application andportability of vehicle operations includes receiving, by a firstapplication associated with a vehicle from a second applicationassociated with a user device, data indicative of an identity of a user.The method further includes determining, by the first application basedon the identity, that the user has vehicle profile setting privilegesfor the vehicle. The method further includes receiving, by the firstapplication, a vehicle profile associated with the user to apply to thevehicle to adjust at least one operating parameter of the vehicle. Thevehicle profile is one of a plurality of predetermined vehicle profilesselectable by the user. The method further includes determining, by thefirst application, whether the vehicle profile can be applied to thevehicle; and, in response to determining the vehicle profile can beapplied to the vehicle, applying, by the vehicle, the vehicle profile tothe vehicle that causes an operation of the vehicle.

In one or more embodiments, a vehicle includes one or more processors.The vehicle further includes a non-transitory machine readable mediumcomprising instructions stored therein, which when executed by the oneor more processors, cause the one or more processors to performoperations. The operations include detecting a user device associatedwith a user is within a predetermined distance of the vehicle. Theoperations further include determining that the user has vehicle profilesetting privileges for the vehicle based on an identity of the user. Theoperations further include receiving, from the user device, a vehicleprofile to apply to the vehicle to adjust at least one operatingparameter of the vehicle, where the vehicle profile is one of aplurality of stored vehicle profiles. The operations further includedetermining whether the vehicle profile can be applied to the vehicleand, in response to determining the vehicle profile can be applied tothe vehicle, applying the vehicle profile to the vehicle that causes anoperation of the vehicle.

In one or more embodiments, a tangible or non-transitory machinereadable storage medium includes machine readable instructions which,when executed, cause one or more processors of a device to performoperations. The operations include receiving data indicative of anidentity of a user. The operations further include determining, based onthe identity of the user, a vehicle profile to apply to a vehicle, wherethe vehicle profile is one of a plurality of predetermined vehicleprofiles. The operations further include determining whether the vehicleprofile can be applied to the vehicle and, in response to determiningthe vehicle profile can be applied to the vehicle, applying the vehicleprofile to the vehicle that causes an operation of the vehicle.

Various techniques are provided for facilitating application andportability of vehicle functionality profiles on vehicles. Each vehiclefunctionality profile may be defined by a combination of values set forvarious operating parameters that control different systems of thevehicle (e.g., using corresponding ECUs). For example, values may be setfor operating parameters such as stroke length, braking force, airintake angle, suspension height, coolant flow rate, and/or others. For agiven vehicle, a vehicle functionality profile applied to the vehiclemay determine a feel and/or performance of the vehicle. In an aspect,vehicle functionality profiles may also be referred to as vehicleoperation profiles, vehicle operating profiles, vehicle profiles,driving profiles, riding profiles, or driving/riding profiles. In somecases, when a vehicle functionality profile does not include a specificvalue for one or more operating parameters, the vehicle can set theseoperating parameters to their corresponding default value (e.g., valueset by the manufacturer or vehicle administrator that has been testedfor safety). In other cases, the vehicle functionality profiles mayinclude values for all operating parameters.

Vehicles may include terrestrial vehicles (e.g., cars), naval vehicles,aerial vehicles, or generally any vehicle for which vehiclefunctionality profiles may be defined and applied (e.g., to enhance userexperience and/or vehicle performance). As one example, a vehicle mayhave a capacity to hold between zero and eight riders. The vehicles maybe manned vehicles, unmanned vehicles (e.g., unmanned cars, UAVs), orvarying degrees thereof (e.g., unmanned drive functionality whileallowing manual take-over).

In one example, a vehicle may have one or more drivers (e.g., pilot,co-pilot) and one or more passengers. In another example, a vehicle mayhave only one or more drivers or only one or more passengers. In afurther example, a vehicle (e.g., a self-driving vehicle) may have nodrivers and one or more passengers who may have no or some control ofvarious aspects of the vehicle's operation, including “driving” of thevehicle. In another example, a vehicle may have no drivers and nopassengers. In the example case with no riders (i.e., no drivers and nopassengers), the vehicle may be an unmanned vehicle that carries payload(e.g., package, sensor equipment), in which the vehicle functionalityprofile applied by a user to the unmanned vehicle may primarily be tofacilitate payload safety, vehicle safety, vehicle efficiency (e.g.,fuel efficiency), and/or timeliness for example. The unmanned vehiclemay be utilized to transport the payload from a starting location to adestination location and/or effectuate use of the payload at thestarting location, destination location, and/or en route from thestarting location to the destination location (e.g., for a surveillanceapplication).

In some embodiments, the vehicle functionality profiles may be storedand managed by a vehicle profile management system. In some aspects, thevehicle profile management system may be provided and maintained by avehicle original equipment manufacturer (OEM). In some cases, thevehicle OEM may certify that the vehicle functionality profiles are safeto use on a specific version of a hardware platform. For a given vehiclefunctionality profile, such a hardware platform may be utilized togenerate appropriate instructions to allow applying of the vehiclefunctionality profile to the vehicle to set a feel and/or performance ofthe vehicle according to the vehicle functionality profile. Vehiclefunctionality profiles may be developed, provided, and/or managed by thevehicle OEM and/or other parties. A service provider (e.g., vehiclerental provider, ride hailing company, dealership), mobile networkoperator, and/or another party may access and/or provide access (e.g.,for user devices) to the vehicle profile management system. For example,the vehicle profile management system and/or the vehicle functionalityprofiles may be maintained at least in part by a group of vehiclemanufacturers (e.g., a group of car manufacturers). The vehicle profilemanagement system may include a listing of predetermined vehiclefunctionality profiles selectable by a user (e.g., a vehiclemanufacturer, a consumer of a vehicle). In an embodiment, the vehicleprofile management system may facilitate and/or otherwise be associatedwith a vehicle selling, renting, and/or sharing service. A user of sucha service may set up an account with this service to buy a vehicle orschedule usage of a vehicle and/or obtain access to at least a subset ofthe predetermined vehicle functionality profiles.

Vehicle functionality profiles (e.g., sets of operating parameters) thatprovide a feel and performance of different vehicle makes and/or typesmay be generated (e.g., defined, developed, and/or tested) by a vehiclemanufacturer and/or other party. A vehicle functionality profile may beproduced with ECUs assigned with operating parameters that control,among other things, gear shift timing, engine (e.g., engine air intake,engine cooling), traction control, transmission, suspension, brakes(e.g., braking response), coolant flow rate, body roll/lean, vehicleheight, driver assist functions, etc. Each of these system operatingparameters may be configured in the corresponding ECU by themanufacturer to achieve certain results, such as a target horsepower, anacceleration profile, a fuel consumption rate, a tactile steeringresponse, a level of shock dampening, etc.

Collectively, operating parameters, such as defined in a vehiclefunctionality profile, give riders (e.g., drivers, passengers) ofvehicles a certain feel and/or performance In some aspects, theoperating parameters may collectively provide a certain feel and/orperformance indicative of a make (e.g., coupe, sedan, sports utilityvehicle (SUV)) and/or type (e.g., muscle, supercar, luxury, economy,etc.) of vehicle. Because different vehicle models may contain adifferent number and/or combination of ECUs configured with differentoperating parameters, each vehicle model may have a unique vehiclefunctionality profile (e.g., a unique feel and/or performance). In someaspects, with cars as an example, a vehicle functionality profile may bedefined by a set of operating parameters (e.g., a set of values for theoperating parameters) that collectively emulates a known/existing makeand model of a car (e.g., rather than a general category of cars), suchas a Ford Mustang, Cadillac Escalade, Porsche 911 Carrera, Honda Civic,Chevy Camaro, Mercedes 5550, etc., which can be extended to specificyears or range of years or just defaulted to the current model year. Forexample, by applying a vehicle functionality profile associated with aFord Mustang to the vehicle, the vehicle may emulate a certain feeland/or performance associated with the Ford Mustang.

Different vehicles (e.g., different makes and/or models of a car, UAV,or other vehicle) may be tested for compatibility with the vehiclefunctionality profiles, such as during design and manufacture of thevehicles and/or post-manufacturing of the vehicles. Compatibility of avehicle with a vehicle functionality profile may be based at least onwhether the vehicle can be operated safely (e.g., safe balance, safetemperature, safe turns, etc.) when the vehicle functionality profile isapplied to an operation of the vehicle. For a given vehicle, the vehiclemay be tested for compatibility with one or more of the predeterminedvehicle functionality profiles and certified accordingly. In some cases,testing of a vehicle functionality profile on the vehiclepost-manufacturing may occur when the vehicle functionality profile isdefined after the vehicle has been manufactured. For example, testing ofthe vehicle functionality profile may be performed on other vehicles ofthe same make and model as the vehicle after the vehicle has beenmanufactured to determine whether the vehicle functionality profile maybe safely applied to the vehicle.

Certification services of the vehicle with various vehicle functionalityprofiles may be provided by the provider of the vehicle functionalityprofile management system (e.g., vehicle OEM) and/or other authorizedparty. In some aspects, the vehicle functionality profile managementsystem may store the vehicle functionality profiles, data indicative ofwhich vehicle functionality profiles can be applied to which vehicles,and/or other data. In some cases, the vehicle functionality profiles maybe obtained by the user via an e-commerce transaction. For example,while a vehicle may be certified to use a certain vehicle functionalityprofile, the vehicle may not be allowed to apply the vehiclefunctionality profile without the vehicle functionality profile havingbeen purchased by the user (e.g., vehicle manufacturer, vehicleadministrator, rider of the vehicle) for use with the vehicle. In somecases, purchase of the vehicle functionality profile may be tied to theuser rather than the vehicle, such that the user may apply the purchasedvehicle functionality profile to vehicles associated with the user or tobe associated in the future with the user (e.g., vehicles the user buys,rents, or hails at a later date). In some cases, to facilitateutilization of the vehicle functionality profiles by a user, the vehiclefunctionality profiles may be identified by a make, model, and/or typeof vehicle provided by or emulated by (e.g., approximated by) thevehicle functionality profiles.

The vehicle functionality profiles may take many different forms. Forexample, vehicle functionality profiles may be configuration files, datastructures, markup language documents, text files, etc. For a givenvehicle, the vehicle functionality profiles may be processed (e.g.,parsed) by a processor of the vehicle to obtain corresponding operatingparameters and these operating parameters provided to appropriate ECUsto control operation of the vehicle. These vehicle functionalityprofiles may be utilized by consumers so that the consumer may enactchanges to their vehicle's feel and/or performance to emulate othervehicle makes, models, and/or types. For example, a consumer may desireto alter the feel and performance of the consumer's economy sedan toemulate and/or mirror luxury sedans. In this example, the consumer'seconomy sedan may emulate the feel and performance of a luxury sedan byselecting one of one or more appropriately designed vehiclefunctionality profiles associated with luxury sedans (e.g., a luxurysedan vehicle functionality profile) to apply to the economy sedan. Forinstance, the selected vehicle functionality profile may be defined byoperating parameters that collectively emulate the feel and performanceof a Mercedes S550.

In an embodiment, a generic vehicle may be manufactured that is withoutany intended bias in design towards a sports car or a luxury sedan, andthe generic vehicle may be given programmed instructions including avehicle functionality profile (e.g., a collection of operatingparameters) associated with either a sports car or a luxury sedan, andthen driven. The vehicle functionality profile of the sports car maycontain operating parameters quite different from the vehiclefunctionality profile of the luxury sedan.

Some example operating parameters of the vehicle functionality profilefor the sports car vehicle functionality profile may include short gearratios in the gear box (e.g., providing high torque at low speeds), highamounts of air intake in the engine, lower spring rate in the suspension(e.g., lower to the ground ride), etc. The sports car vehiclefunctionality profile may allow a fast acceleration and high speed ride(e.g., within regulated limits). In one example, the vehiclefunctionality profile may be designed to emulate the feel andperformance of a Ford Mustang. Some example operating parameters of thevehicle functionality profile for the luxury sedan may include long gearratios in the gear box (e.g., providing smooth acceleration andincreased fuel economy), normal amounts of air intake in the engine,instituted speed control, high damping in the suspension (e.g., for asmoother ride), etc. The luxury sedan vehicle functionality profile mayallow a ride with smooth acceleration and speed. It can be appreciatedfrom the above examples that the sports car vehicle functionalityprofile provide a markedly different performance or feel than the luxurysedan vehicle functionality profile.

In some aspects, in addition to a vehicle functionality profile, thevehicle may also receive vehicle ride preferences to be applied to thevehicle. In some cases, the vehicle ride preferences may be provided tothe vehicle by the user device. The vehicle ride preferences (e.g., alsoreferred to as ride preferences) may be provided along with the vehiclefunctionality profile, or as a separate communication(s). While thevehicle functionality profiles may be associated more directly withphysical settings of the vehicle (e.g., braking force, coolant flowrate, etc.), vehicle ride preferences may be associated with otheraspects of the user's ride experience. Vehicle ride preferences may bedefined based on user comfort, user safety, smoothness of ride, energyefficiency, and/or other factors associated with user experience and/orvehicle performance.

By way of non-limiting example, vehicle ride preferences may include atemperature (e.g., temperature range) to be maintained in a cabin (or aportion thereof) of the vehicle, music (e.g., type of music, user'splaylist) to be played in the cabin (or a portion thereof), and routesettings (e.g., scenic route, closest route, fastest route based oncurrent traffic) to be applied to a global positioning system (GPS) orother navigation system of the vehicle. For an unmanned vehicle (e.g.,autonomously driven car or drone), other vehicle ride preferences mayinclude a speed and/or driving style (e.g., drive in faster or slowerlanes of highways) of the unmanned vehicle. In some cases, based on thevehicle ride preferences, the user may select the route to be traversedby the vehicle, or the vehicle may have autonomy on selecting the route.Alternatively or in addition to providing vehicle ride preferences usingthe user device, the vehicle ride preferences may be readily adjusted bythe user by pressing buttons, turning knobs, or controlling variousother types of controls provided by the vehicle, such as to adjust anair-conditioner, change music volume, change music, set a GPS, etc. Insome cases, a combination of vehicle ride preferences may be utilized toprovide a desired cabin feel for the vehicle, such as a desired cabinfeel of a sports car or a luxury sedan. For example, the vehicle ridepreferences may include a combination of a motion feel, an exhaust note,an engine noise, a brake noise, a wheel noise, a road noise, a steeringfeel, engine vibrations, a throttle/brake/clutch pedal feel, a smell(e.g., burning tires), and/or cabin temperature.

In some aspects, the vehicle functionality profiles may be coupled to(e.g., matched to) a set of default ride preferences. As one example,the provider of the vehicle functionality profile may suggest a set ofdefault ride preferences for the user to manually set when the vehiclefunctionality profile is applied. As another example, the provider maybundle the vehicle functionality profile together with the set ofdefault ride preferences, such that the vehicle functionality profileand the associated set of default ride preferences are applied to thevehicle. While the default ride preferences may be applied along withthe vehicle functionality profile to the vehicle, the default ridingpreferences may be readily adjustable/customizable by a user of thevehicle. For example, a sports car vehicle functionality profile may becoupled to a set of default ride preferences such that the sports carvehicle functionality profile and the set of default ride preferencescollectively emulate a feel and performance of a sports car (e.g., aparticular known make and model such as a Ford Mustang). In thisexample, for a sports car vehicle functionality profile, a ridepreference may include presenting data rich instrumentation in a cockpitconsole (e.g., telemetry information and/or systems status information).The sports car vehicle functionality profile may allow a fastacceleration, high speed, tightly controlled ride, with ampleinformation presentation to allow a user (e.g., the driver) to monitorthe relevant systems of the vehicle. As another example, a luxury sedanvehicle functionality profile (e.g., to emulate a feel and performanceof a particular known make and model such as a Mercedes S550) may createa smooth accelerating, controlled, luxury ride, with entertainmentprovided to enhance the experience of the ride.

In some embodiments, to facilitate application and portability ofvehicle functionality profiles, user devices (e.g., also referred to aspersonal electronic devices or client devices) may communicate with thevehicles directly or via one or more networks connected to the userdevices and the vehicles. For example, the user devices and vehicles maycommunicate with each other directly (e.g., wirelessly via Bluetooth®communications, near-field communications (NFC), etc. and/or wired viauniversal serial bus (USB) communications) and/or via one or morenetworks (e.g., cellular networks).

For a given vehicle, the vehicle may receive data indicative of anidentity of a user of a user device, such as during a handshakeprocedure between the vehicle and the user device. In an aspect, thehandshake procedure may be, may include, or may be a part of, anauthentication procedure. Based on the identity of the user, the vehiclemay determine whether the user of the user device has vehicle profilesetting privileges (e.g., also referred to as vehicle functionalityprofile setting privileges or profile setting privileges). In an aspect,the user that has vehicle profile setting privileges may be referred toas a captain of the vehicle. The captain of the vehicle may be the userthat owns the vehicle, rents the vehicle, has hailed the vehicle for atrip (e.g., through a ridesharing service), or otherwise has previouslybeen designated by some party (e.g., owner, renter, previous captain,vehicle administrator) as the captain of the vehicle. In anotherexample, the captain of the vehicle may be the user seated in aparticular seat of the vehicle (e.g., pilot's seat), which may bedetermined based on object detection technology provided by the vehicleand/or weight detected on seats of the vehicle.

In some cases, the captain may designate how the handshake operation isperformed (e.g., whether the captain's device or the vehicle initiatesthe handshake operation), who can apply the vehicle functionalityprofile (e.g., a listing or ranked listing of captains in which eachcaptain is associated with a priority value), and/or how the vehiclefunctionality profile may be transferred to the vehicle. In some cases,the captain may provide settings to the vehicle and/or user deviceduring an initial setup of the vehicle and/or in a user profile of thecaptain (e.g., user profile for a vehicle rental service).

If the vehicle determines that the user has vehicle profile settingprivileges (e.g., the user is a captain), the vehicle may receive avehicle functionality profile associated with the captain. In somecases, the vehicle may receive the vehicle functionality profile fromthe user device (e.g., smartphone, smartwatch, tablet device) of theuser. The vehicle may determine whether the vehicle functionalityprofile can be applied to the vehicle. The vehicle may apply the vehiclefunctionality profile to an operation of the vehicle when the vehicledetermines that the vehicle functionality profile can be applied to(e.g., vehicle functionality profile is compatible with) the vehicle. Insome cases, the vehicle functionality profile can be applied only whilethe vehicle is not in transit (e.g., to ensure safety of the riders).For example, the vehicle functionality profile may be changed only whenthe vehicle is completely parked. Upon successfully applying the vehiclefunctionality profile, the vehicle may indicate that the vehiclefunctionality profile has been successfully applied. For example, thevehicle may display a textual and/or pictorial indication on a monitorprovided in the vehicle and/or transmit the textual and/or pictorialindication to the user's device (e.g., for display by the user'sdevice).

In an aspect, a vehicle functionality profile that can be applied to thevehicle may be referred to as being compatible with the vehicle. Incontrast, a vehicle functionality profile that cannot be applied to thevehicle may be referred to as being not compatible with the vehicle. Insome cases, the user device may identify the vehicle based on datareceived by the user device from the vehicle during the handshakeprocedure, such as an official vehicle identification number of thevehicle or generally any vehicle identifier (e.g., name, number)previously applied to the vehicle by a user, and the user device maytransmit to the identified vehicle the vehicle functionality profileassociated with the identified vehicle.

If the vehicle determines that the vehicle functionality profile cannotbe applied to the vehicle, in some embodiments, the vehicle may transmitto the user device of the user a listing of vehicle functionalityprofiles that can be applied to the vehicle. The vehicle may thenreceive from the user device a vehicle functionality profile selectedfrom the listing and apply the vehicle functionality profile. If thevehicle receives no response from the user device pertaining to aselected vehicle functionality profile, the vehicle can apply a defaultvehicle functionality profile (e.g., previously set by a manufacturer ofthe vehicle, a vehicle administrator, the user, or other party).

In an embodiment, the vehicle may receive data indicative of differentusers' identities from different user devices, request a vehiclefunctionality profile from the user that has profile setting privileges(e.g., the user associated with the highest priority value), and apply(if compatible) the vehicle functionality profile provided by the userthat has profile setting privileges. Vehicle functionality profiles fromusers without profile setting privileges (if received) may be ignored(e.g., dropped) by the vehicle. In some cases, the vehicle may transmita message to the user device of the user confirming that the user hasvehicle profile setting privileges, and/or the vehicle may transmit amessage indicating to the user devices of the other users that they donot have profile setting privileges (e.g., they are not captains of thevehicle). In some cases, when the vehicle is used exclusively bynon-captains (e.g., and a captain does not temporarily transfer profilesetting privileges), the vehicle may operate according to previouslyprovided settings and may indicate to user devices of the non-captains(e.g., via corresponding apps installed on the user devices) the vehiclefunctionality profile that has been successfully applied. For example,based on previously provided settings (e.g., from a captain, vehicleadministrator, vehicle manufacturer, etc.), the vehicle may apply adefault vehicle functionality profile (e.g., previously set by thecaptain, vehicle administrator, vehicle manufacturer, etc.) or may allowany non-captain to select and apply a vehicle functionality profile.

In some aspects, the vehicle may only have one captain assigned at atime. The captain may temporarily, permanently, and/or conditionallytransfer vehicle profile setting privileges to another user. Forexample, the captain may conditionally transfer vehicle profile settingprivileges based on time of day, day of week, duration of vehicle usage,purpose of vehicle usage, vehicle functionality profile another userintends to apply, and/or other conditions. In other aspects, the vehiclemay have multiple users with vehicle profile setting privileges (e.g.,multiple captains). In these aspects, each captain may be associatedwith a priority value. For example, when nine different users aredesignated as captains of the vehicle, each of the nine captains may beassociated with a different priority value between 1 and 9, inclusive,where 1 is assigned to the captain with the highest priority and 9 isassigned to the captain with the lowest priority. In this example, whenthe user devices of the captain assigned a priority value of 2 and thecaptain assigned a priority value of 6 are providing vehiclefunctionality profiles to the vehicle, the vehicle applies the vehiclefunctionality profile of the captain assigned the priority value of 2.The captains may temporarily or permanently adjust the priority valuesof the various captains and/or add captains (e.g., introduce a new tenthcaptain and redefine priority values as being between 1 and 10,inclusive). In an aspect, as captains board and/or exit the vehicle, thevehicle may adjust the vehicle functionality profile applied to thevehicle based on the relative priority values associated with thecaptains in the vehicle after such boarding and/or exiting. Othermanners by which users can be designated as captains and/or assignedpriority values can be utilized.

In some cases, ride preference setting privileges may, but need not, beset. Users with profile setting privileges may not have ride preferencesetting privileges, and vice versa. In one case, the riding preferencesetting privileges may exclusively be with the captain of the vehicle orthe captain of the highest priority value who is in the vehicle. In somecases, all users (e.g., riders) of the vehicle have riding preferencesetting privileges by default. In an aspect, the ride preference settingprivileges may pertain primarily to configuring the vehicle using a userdevice to communicate with the vehicle. For example, any user (e.g.,rider) of the vehicle may still adjust the ride preferences by manuallyadjusting appropriate buttons, knobs, etc. to control the correspondingsystem (e.g., air-conditioning system, music system, GPS, etc.), such asto effectuate a desired cabin feel, regardless of whether the user hasride preference setting privileges.

The vehicle may try to accommodate vehicle ride preferences of multipleusers (e.g., riders) of the vehicle. As one example, when multiple usershave set a cabin temperature preference, the vehicle may maintain thecabin temperature (e.g., by controlling the air-conditioning system) ataround an average of the cabin temperatures provided by the users. Asanother example, when one user has set a faster speed preference thananother user, the vehicle may determine the vehicle ride preferenceassociated with higher safety given traffic conditions and operate basedon the determined vehicle ride preference (e.g., autonomously drive in alane(s) appropriate for the lower speed preference or an average of thedifferent speed preferences). As yet another example, to facilitatenavigation of the vehicle to different destinations, the vehicle maydetermine an efficient route to reach each of the different destinationsbased on the locations of the destinations while considering routesettings (e.g., scenic route, closest route, fastest route, etc.) of thevarious users. In an aspect, as users (e.g., riders) board and/or exitthe vehicle, the vehicle may adjust the vehicle based on the vehicleride preferences of the users who are in the vehicle after such boardingand/or exiting. For example, a user may be considered to have exited thevehicle when the user is no longer detected by the vehicle (e.g., usingobject recognition technology and/or weight applied on the vehicle'sseats).

Thus, in various embodiments, by tying a user's vehicle functionalityprofiles and ride preferences to the user's device(s) and/or user'saccount (e.g., account for a service that facilitates vehicle ownership,rental, or sharing), the user has ready access to vehicle functionalityprofiles and/or ride preferences (e.g., stored on one or more userdevices of the user or on a remote server or in the cloud accessible tothe user) that the user can apply to a vehicle. Vehicle functionalityprofiles may be coupled to vehicle ride preferences to collectivelyprovide a desired feel and performance In some cases, a vehiclefunctionality profile may be coupled to one or more vehicle ridepreferences to collectively emulate a make and/or model of an existingcar type (e.g., emulate a Cadillac Escalade or Porsche 911 Carrera). Forexample, the vehicle ride preferences may provide a certain cabin feel.In general, the vehicle ride preferences may be readily adjusted by theuser. In some cases, the user may have multiple user devices configuredto communicate with the vehicle. For example, the multiple user devicesand the vehicle may have appropriate hardware, software, and/or firmwarethat may interface each other. In some cases, such interfacing betweenthe user devices and the vehicle may be performed via correspondingapplications installed on the user devices and the vehicle.

In some aspects, the user may set a vehicle functionality profile and/orride preferences to be provided automatically to any vehicle that theuser device can authenticate itself to. For example, the user may setthe manner by which the user device and the vehicle communicateautomatically, such that minimal manual interaction from the user isneeded. In other aspects, the user may set different vehiclefunctionality profiles and/or ride preferences to be applied todifferent vehicles to be used by the user (e.g., vehicles owned, rented,or otherwise scheduled for use by the user). This contrasts with caseswhere the user needs to manually set the vehicle functionality profileand ride preferences to apply to a vehicle on a vehicle-by-vehiclebasis. For example, such manual setting of the vehicle functionalityprofile and ride preferences on a vehicle-by-vehicle basis may beespecially inconvenient when the user does not own a vehicle but ratherintends to rent vehicles for short durations of time.

Turning now to the figures, FIGS. 1A, 1B, 1C, and 1D illustrate examplesof network environments 100A, 100B, 100C, and 100D, respectively, forfacilitating application and portability of vehicle functionalityprofiles and vehicle ride preferences in accordance with one or moreembodiments of the present disclosure. Not all of the depictedcomponents may be required, however, and one or more embodiments mayinclude additional components shown in the figure. Variations in thearrangement and type of the components may be made without departingfrom the spirit or scope of the claims as set forth herein. Additionalcomponents, different components, and/or fewer components may beprovided.

It is noted that sizes of various components and distances between thesecomponents are not drawn to scale in FIGS. 1A-1D. In FIGS. 1A-1D, arrowsrepresent signal communication between two components. For example, inFIG. 1A, an arrow 112 represents signal communication between a vehicle105 and a user device 110. In some cases, the arrow 112 may represent awireless connection(s), a wired connection(s), or wireless connection(s)and wired connection(s). Furthermore, although FIGS. 1A-1D depictvehicles (e.g., 105, 130) as a car, techniques described herein maygenerally be applied to any terrestrial vehicle, naval vehicle, and/oraerial vehicle.

In FIG. 1A, the network environment 100A includes the vehicle 105, theuser device 110, a network 115, a user profile management system 120,and a vehicle functionality profile management system 125. The vehicle105, user device 110, network 115, user profile management system 120,and vehicle functionality profile management system 125 may be incommunication directly or indirectly. As used herein, the phrases “incommunication,” “communicatively connected,” and variances thereof,encompass direct communication and/or indirect communication through oneor more intermediary components and does not require direct physical(e.g., wired and/or wireless) communication and/or constantcommunication, but rather additionally includes selective communicationat periodic or aperiodic intervals, as well as one-time events.

The vehicle 105 may be operated based on a vehicle functionality profileapplied to the vehicle 105. The vehicle functionality profile applied tothe vehicle 105 may be a default vehicle functionality profile (e.g.,set by a manufacturer, a vehicle administrator, a provider of thevehicle 105, a provider of a service, or a user of the vehicle 105) or avehicle functionality profile selected by a user (e.g., current user) ofthe vehicle 105. The user of the vehicle 105 may be a driver or apassenger. In some cases, the vehicle 105 may be an unmanned vehicle, inwhich each user of the vehicle 105 is a passenger. In some cases, thevehicle 105 may have no riders. For example, the user of the vehicle 105may use the vehicle 105 to transport payload (e.g., package, sensorequipment). For a given operation (e.g., a trip(s)) of the vehicle 105,one or more users of the vehicle 105 may have profile setting privilegesfor the vehicle 105. In some cases, the vehicle 105 may also be operatedbased on ride preferences applied to the vehicle 105. The ridepreferences may be from users (e.g., riders) of the vehicle 105 that mayor may not have profile setting privileges. In an aspect, a user withride preference setting privileges does not have profile settingprivileges, and vice versa.

The vehicle 105 may include a vehicle communication unit (e.g., alsoreferred to simply as a communication unit). The communication unit mayinclude one or more radio transceivers (e.g., antennas) along withassociated logic, circuitry, interfaces, memory, and/or code that enablecommunications (e.g., with the user device 110, network 115, userprofile management system 120, vehicle functionality profile managementsystem 125, and/or other devices) via wireless interfaces and using theradio transceivers. In an embodiment, the vehicle 105 may send and/orreceive information via communications in accordance with wirelesscommunication standards or protocols, such as a cellular standard,Institute of Electrical and Electronics Engineers (IEEE) 802.11standard, Bluetooth® standard, ZigBee® standard, and/or other wirelessstandards; NFC; infrared-based communications; optical-basedcommunications; and/or other appropriate communication standards and/orprotocols. In some cases, the vehicle 105 may be configured tocommunicate with the user device 110, network 115, user profilemanagement system 120, vehicle functionality profile management system125, and/or other devices using a proprietary wireless communicationprotocol and interface.

Alternatively or in addition, the communication unit of the vehicle 105may include suitable logic, circuitry, interfaces, memory, and/or codethat enable wired communications (e.g., with the user device 110,network 115, user profile management system 120, vehicle functionalityprofile management system 125, and/or other devices). In this regard,the vehicle 105 may be configured to interface with a wired network,such as via an Ethernet interface, a power-line modem, a DigitalSubscriber Line (DSL) modem, a Public Switched Telephone Network (PSTN)modem, a cable modem, and/or other appropriate components for wiredcommunication. A wired link may be implemented with a USB cable,power-line cable, coaxial cable, fiber-optic cable, or other cable orwires that support corresponding wired network technologies. Forinstance, the communication unit of the vehicle 105 may be, or mayinclude, a USB port that can receive a USB cable. When the USB cable isused to connect the user device 110 to the vehicle 105, the USB cablemay be used to transmit data to and/or receive data from the user device110.

The user device 110, network 115, user profile management system 120,vehicle functionality profile management system 125, and/or otherdevices may include communication units appropriate for communicatingwith each other and/or the vehicle 105. By way of non-limiting examples,the user device 110 may be, and/or may include, a mobile phone (e.g.,smartphone), smartwatch, a personal digital assistant (PDA), a tabletdevice, a laptop device, a watch, a computer, or generally any devicethat is operable to communicate via wireless communication (e.g., viacellular standards using antennas) and/or wired communication (e.g.,USB). In some cases, to allow the user to apply vehicle functionalityprofiles to various vehicles, the user device 110 may be a portabledevice.

In some embodiments, the communication unit of the vehicle 105 maycommunicate directly with the user device 110 (e.g., directly with acommunication unit of the user device 110 in a non-networked manner),such as via Bluetooth communication and/or NFC communication. Forinstance, the communication unit of the vehicle 105 may be, or mayinclude, an NFC device (e.g., NFC tag) in the cabin of the vehicle 105that may transmit data to and/or receive data from the user device 110when the user device 110 is placed in proximity of the NFC device.

Alternatively or in addition, in some embodiments, the vehicle 105 maybe in communication with other components via the network 115. As oneexample, the network 115 may be, may include, or may be a part of, acellular network. In this example, the communication unit of the vehicle105 may send and/or receive information over the cellular network (e.g.,3G, 4G, 5G, other 3GPP-based cellular network, and/or other cellularnetwork), such as to and/or from the user device 110 via one or morebase stations (not shown in FIG. 1A) of the network 115. The basestation(s) may be macrocell base station(s), microcell base station(s),picocell base station(s), femtocell base station(s), and/or other cellsizes. Although the network 115 is depicted as a single network, thenetwork 115 may include one or more networks. In this regard, thenetwork 115 may represent one or more wireless networks (e.g., cellularnetwork, Wi-Fi network) and/or one or more wired networks.

The user profile management system 120 may include components formanaging user profiles. The user profile management system 120 maystore, or may otherwise have access to, user profiles. Each user profilemay be associated with a user. For a given user, the user profile mayinclude an identity of the user (e.g., account username, name, contactinformation, biometrics, etc.). In some aspects, the user profile mayinclude a vehicle functionality profile and/or vehicle ride preferencesset by the user that the user intends to apply to vehicles (e.g., thevehicle 105) used by the user. In an aspect, the user profile managementsystem 120 may include data identifying vehicles associated with theuser, and whether the user has profile setting privileges on avehicle-by-vehicle basis. In some cases, the user profile may allow theuser to indicate the vehicle functionality profile and/or vehicle ridepreferences to be applied to all vehicles associated with the user. Forexample, setting a common vehicle functionality profile to all vehiclesassociated with the user may be useful for fleet management. In othercases, the user profile may allow the user to indicate different vehiclefunctionality profiles and/or vehicle ride preferences on avehicle-by-vehicle basis. In an embodiment, the user profile managementsystem 120 may be provided by a service provider (e.g., vehicle rentalprovider), mobile network operator, and/or another party. The userprofile management system 120 may provide vehicle selling, renting,and/or sharing services and/or may provide services for storing data forand/or interfacing with such vehicle selling, renting, and/or sharingservices.

The user profile management system 120 may manage user profiles, suchthat existing user profiles may be deleted (e.g., users manually deletedtheir user profiles, users did not renew their subscription, etc.)and/or new user profiles may be set up (e.g., new users subscribe to aservice, such as a car rental service, and/or existing users openinganother account). For example, the user profile management system 120may host a website, an application, or otherwise provide an interface toallow new users to set up an account and/or existing users to adjusttheir settings (e.g., vehicle functionality profiles, ride preferences,identification information, contact information, etc.) or delete theiraccounts. In some cases, the user profile management system 120 mayperform authentication processes and/or provide data (e.g., transmitdata or otherwise allow access to data) to facilitate performing ofauthentication processes (e.g., by the vehicle 105 or other devices).

The vehicle functionality profile management system 125 may includecomponents for managing vehicle functionality profiles. The vehiclefunctionality profile management system 125 may store, or may otherwisehave access to, vehicle functionality profiles. In some cases, newvehicle functionality profiles may be developed and stored on thevehicle functionality profile management system 125 (e.g., after the newvehicle functionality profiles have been tested for safety andapproved), and/or existing vehicle functionality profiles may bedisabled (e.g., removed, marked as obsolete, marked as unsafe, etc.). Insome aspects, the vehicle functionality profiles may be stored in thevehicle functionality profile management system 125 as a listing ofpredetermined vehicle functionality profiles.

In some aspects, the vehicle functionality profile management system 125may store the vehicle functionality profiles, data indicative of whichvehicle functionality profiles can be applied to which vehicles (e.g.,vehicle makes and/or models), and/or other data. In an embodiment,different vehicles (e.g., different makes and/or models of a car, UAV,or other vehicle) may be tested for compatibility with the vehiclefunctionality profiles, such as during design and manufacture of thevehicles or post-manufacturing of the vehicles. In some cases, such asfor compatibility of a vehicle functionality profile that is determinedafter manufacture of the vehicle 105, the vehicle functionality profilemanagement system 125 may provide an update to the vehicle 105 toindicate whether the vehicle functionality profile can or cannot beapplied to the vehicle 105. In some cases, the vehicle functionalityprofile management system 125 may provide, facilitate, and/or otherwisebe associated with, certification services that certify compatibility ofthe vehicle with various vehicle functionality profiles. Alternativelyor in addition, in some cases, the vehicle functionality profilemanagement system 125 may provide, facilitate, and/or otherwise beassociated with, certification services that certify the various vehiclefunctionality profiles.

In an aspect, the vehicle functionality profile management system 125and/or the vehicle functionality profiles may be provided and maintainedby a vehicle OEM. For example, the vehicle functionality profilemanagement system 125 and/or the vehicle functionality profiles may bemaintained at least in part by a group of vehicle manufacturers (e.g., agroup of car manufacturers). A manufacturer of each vehicle (e.g., thevehicle 105) may have a database of associated and safe vehiclefunctionality profiles that can be associated with the vehicle'sversion/vintage. In some cases, third parties, such as ride hailcompanies, rental companies, and other service providers, may providetheir respective services by accessing the vehicle functionality profilemanagement system 125. In some cases, the provider of the vehiclefunctionality profile management system 125 may also provide the userprofile management system 120, and/or may otherwise operate inconjunction with or be associated with a provider of the user profilemanagement system 120. The user profile management system 120 and/orvehicle functionality profile management system 125 may be provided bycloud-based servers.

In some embodiments, to facilitate application and portability ofvehicle functionality profiles and vehicle ride preferences, the vehicle105 may communicate with the user device 110. In an aspect, the vehicle105 and the user device 110 may have corresponding applicationsinstalled, such that the vehicle 105 and the user device 110 mayinterface (e.g., communicate, exchange data) with each other via thecorresponding applications. A handshake procedure (e.g., also referredto as an authentication procedure) may be performed between the userdevice 110 and the vehicle 105 to allow secure authentication. Duringthe handshake procedure, the user device 110 may transmit authenticationdata to the vehicle 105. The authentication data may include dataindicative of an identity of a user of the user device 110. The identityof the user may include a name (e.g., account username, legal name,etc.), account number, biometrics, and/or generally any identificationdata that may be utilized by the vehicle 105 to authenticate the user.For example, the identity of the user may be an account username of anapplication logged in by the user. The authentication data may includethe account username and a passcode associated with the account. Theidentity of the user may also include user privileges to set a vehiclefunctionality profile and ride preferences.

The handshake procedure may be initiated by the user device 110 or thevehicle 105. The handshake procedure may be conducted via messagescommunicated between the user device 110 and the vehicle 105. Thetransfer of authentication data to the vehicle 105 may be initiated bythe user device 110, or the authentication data may be transferred bythe user device 110 in response to a query from the vehicle 105.

In some cases, the handshake procedure may be set to occur automaticallywhen a distance between the user device 110 and the vehicle 105 iswithin a threshold distance. Depending on communication method, thethreshold distance may be from a few inches to a few meters. As oneexample, the vehicle 105 may be, or may include, an NFC device (e.g.,NFC tag) that may transmit data to and/or receive data from the userdevice 110 when the user device 110 is placed in proximity of the NFCdevice (e.g., within a few inches). For instance, the user may bring theuser device 110 close to the NFC device installed in the vehicle 105. Asanother example, using geolocation/fencing approaches, the vehicle 105may monitor for devices (e.g., up to a few meters) with appropriatecapability for providing authentication data and/or vehiclefunctionality profiles to the vehicle 105 and initiate a query to theuser device 110 (e.g., an application installed on the user device 110)when the user device 110 is within a threshold distance. In one case,the communication between the user device 110 and the vehicle 105 may bevia Wi-Fi, cellular, and/or Bluetooth communication.

In some aspects, the vehicle 105 may authenticate the user device 110based on user profiles stored in the vehicle 105. For example, thevehicle 105 may compare the authentication data provided by the userwith data contained in the user profiles stored in the vehicle 105 todetermine whether there are any matches. In other aspects, the vehicle105 may authenticate the user device 110 by communicating with the userprofile management system 120. In these aspects, the vehicle 105 mayrelay the authentication data (or a portion thereof) received from theuser to the user profile management system 120. The user profilemanagement system 120 may perform authentication of the user andindicate to the vehicle 105 and/or user device 110 whetherauthentication is successful, and/or the user profile management system120 may provide information to the vehicle 105 to allow the vehicle 105to perform authentication.

Other approaches by which to perform a handshake procedure may beutilized. In general, a manner by which to initiate and/or perform thehandshake procedure may be based on settings from a user, vehiclemanufacturer, vehicle administrator, and/or service provider (e.g.,vehicle rental service provider). In some cases, the user of the userdevice 110 may set in the user device 110 and vehicle 105 whichapproach(es) to utilize to initiate and/or perform a handshakeprocedure. The user's selected approach(es) may be previously set aspart of the user's settings (e.g., stored in the user device 110 and/oruser profile management system 120) and/or during an initial associationprocedure between the vehicle 105 and the user device 110.

Upon successful authentication, the vehicle 105 may determine whetherthe user of the user device 110 has profile setting privileges based onthe identity of the user. For example, the vehicle 105 may access theuser profile and/or other data to determine whether the user of the userdevice 110 has profile setting privileges. Such data may be stored inthe vehicle 105, user device 110, and/or user profile management system120. In one case, the vehicle 105 may determine whether such data isstored in the vehicle 105 and, if such data is not stored in the vehicle105, the vehicle 105 may request such data from the user profilemanagement system 120. The vehicle 105 may then store such data receivedfrom the user profile management system 120 for future use. In somecases, the vehicle 105 may determine whether the user of the user device110 has profile setting privileges as part of the handshake procedure.

Upon determining the user has vehicle profile setting privileges, thevehicle 105 may determine the vehicle functionality profile associatedwith the user of the user device 110. For example, the vehicle 105 mayretrieve a vehicle functionality profile associated with the user (e.g.,stored in the vehicle 105 and/or user profile management system 120)and/or request the user device 110 to provide the vehicle functionalityprofile to the vehicle 105. In one case, the vehicle 105 may determinewhether such data is stored in the vehicle 105 and, if such data is notstored in the vehicle 105, the vehicle 105 may request such data fromthe user profile management system 120. The vehicle 105 may then storesuch data received from the user profile management system 120 forfuture use. In an aspect, the vehicle 105 may retrieve ride preferencesassociated with the user and/or request the user device 110 to provideride preferences.

In some cases, the vehicle functionality profile may be providedtogether with or soon after the authentication data is provided. Forexample, the vehicle functionality profile may be provided beforesuccessful authentication of the user device 110. In other cases, theuser device 110 may provide the vehicle functionality profile only aftersuccessful authentication of the user device 110 to the vehicle 105. Insome cases, the user device 110 may receive an indication of asuccessful authentication and/or a failed authentication of the userdevice 110 to the vehicle 105 (e.g., from the vehicle 105 and/or userprofile management system 120). If authentication of the user device 110fails, the vehicle 105 and/or user profile management system 120 mayindicate to the user device 110 that the authentication failed, requestalternative authentication data from the user device 110, and/or ignorethe user device 110 (e.g., drop subsequent communications received fromthe user device 110).

The vehicle 105 may determine whether the vehicle functionality profileassociated with the user can be applied to (e.g., is compatible with)the vehicle 105. If the vehicle 105 determines that the vehiclefunctionality profile can be applied, the vehicle 105 applies thevehicle functionality profile. For example, the vehicle 105 maydetermine that the vehicle 105 is registered/certified to operate safelyusing the vehicle functionality profile. In some cases, the vehiclefunctionality profile may need to be purchased (e.g., by the user and/orby the manufacturer of the vehicle 105) before the vehicle functionalityprofile can be applied to the vehicle 105. In some cases, the vehicle105 may also receive ride preferences from the user (e.g., in a samecommunication as the vehicle functionality profile or as a separatecommunication(s)) and apply the ride preferences to the vehicle 105.

In some cases, the user of the user device 110 may provide a listing(e.g., a ranked listing) of vehicle functionality profiles. In thesecases, the vehicle 105 may go down the listing (e.g., starting from avehicle functionality profile having a highest priority) until one ofthe user's vehicle functionality profiles can be applied to the vehicle105. If none of the vehicle functionality profile(s) provided by theuser of the user device 110 can be applied to the vehicle 105, thevehicle 105 may apply a default vehicle functionality profile (e.g., setby the manufacturer or vehicle administrator of the vehicle 105) thatcan be applied to the vehicle 105. As another example, the vehicle 105may transmit a listing of predetermined vehicle functionality profilesthat can be applied to the vehicle 105 to the user device 110 andrequest selection of one or more of the vehicle functionality profilesin the listing. In an aspect, the listing of vehicle functionalityprofiles of the vehicle 105 may be a subset of the predetermined vehiclefunctionality profiles stored by the vehicle functionality profilemanagement system 125. The user device 110 may provide to the vehicle105 the vehicle functionality profile(s) selected by the user. Based onuser settings, the vehicle 105 and/or user profile management system 120may store the vehicle functionality profile selected by the user forfuture use. If the user device 110 does not provide a vehiclefunctionality profile to the vehicle 105 (e.g., within a thresholdamount of time of the request from the vehicle 105), the vehicle 105 mayapply a default vehicle functionality profile.

If the user of the user device 110 has not set a vehicle functionalityprofile for the user, the vehicle 105 may apply a default vehiclefunctionality profile. Alternatively, the vehicle 105 may request thatthe user device 110 provide a vehicle functionality profile and/ortransmit a listing of predetermined vehicle functionality profiles tothe vehicle 105 that can be applied to the vehicle 105. The user device110 may provide to the vehicle 105 the vehicle functionality profileselected by the user. Based on user settings, the vehicle 105 and/oruser profile management system 120 may store the vehicle functionalityprofile selected by the user for future use. If the user device 110 doesnot provide a vehicle functionality profile to the vehicle 105 (e.g.,within a threshold amount of time), the vehicle 105 may apply a defaultvehicle functionality profile.

Turning now to FIG. 1B, the network environment 100B includes thevehicle 105, the user device 110, the network 115, the user profilemanagement system 120, the vehicle functionality profile managementsystem 125, and a vehicle 130. The description of FIG. 1A generallyapplies to FIG. 1B, with examples of differences between FIG. 1A andFIG. 1B and other description provided herein. In an embodiment, thevehicle 130 may be implemented in the same or similar manner as thevehicle 105 of FIG. 1A.

The user device 110 may communicate with the vehicle 105 (e.g., asdescribed in FIG. 1A) and/or the vehicle 130. In one example, the usermay manually set the vehicle 105 to which the user device 110authenticates, such as via a selection on an application of the userdevice 110 or directing a signal (e.g., line-of-sight infrared signal)to the vehicle. Alternatively or in addition, in another example, theuser device 110 may perform a vehicle-initiated handshake procedure withthe vehicle 105 and/or 130 or a handshake procedure initiated by theuser device 110, such as a handshake procedure initiated based on adistance between the vehicle 105 and the user device 110 and a distancebetween the vehicle 130 and the user device 110. For example, assumingsuccessful authentication of the user device 110 to the vehicles 105and/or 130, the vehicles 105 and/or 130 may determine whether the userdevice 110 has vehicle profile setting privileges for the vehicles 105and/or 130, respectively.

To facilitate application and portability of vehicle functionalityprofiles of the user of the user device 110, the user device 110 maystore, or may have access to (e.g., via the user profile managementsystem 120), one or more vehicle functionality profiles of the user ofthe user device 110 that the user prefers to be applied to vehiclesutilized by the user. The user device 110 may authenticate to thevehicle 105 and/or the vehicle 130. Similar to the vehicle 105, thevehicle 130 may communicate with the user profile management system 120and/or the vehicle functionality profile management system 125 tofacilitate the handshake procedure and/or applying of a vehiclefunctionality profile. The user may also have ride preferences to beapplied to the vehicles 105 and/or 130. In some cases, each vehiclefunctionality profile may be coupled/matched (e.g., by a provider of thevehicle functionality profile, by the user, etc.) to a set of ridepreferences. For example, the vehicle functionality profile and itsassociated set of ride preferences may be applied together to emulate afeel and performance of a certain make and model of vehicle.

The vehicles 105 and/or 130 may, but need not, store vehiclefunctionality profiles associated with the user of the user device 110and/or other users. In this regard, by tying the vehicle functionalityprofiles of the user of the user device 110 to the user device 110, theuser may conveniently apply the user's vehicle functionality profiles todifferent vehicles, such as the vehicles 105 and 130, based on whichvehicle the user is currently using or intending to use. This contrastswith a case in which the vehicle functionality profiles of the user aretied primarily to the vehicles 105 and 130 themselves rather than to theuser device 110, in which case the user may need to manually set thevehicle functionality profile to apply to the vehicle 105, vehicle 130,and other vehicles on a vehicle-by-vehicle basis. In some cases, theuser may associate the same vehicle functionality profile with differentvehicles, such that the user may apply the same vehicle functionalityprofile to these vehicles. In other cases, the user may associatedifferent vehicle functionality profiles with different vehicles.Similarly, the description pertaining to vehicle functionality profilesmay also apply to ride preferences of the user, in which case the ridepreferences may be tied to the user device 110 rather than or inaddition to being tied to the vehicles 105 and/or 130.

Turning now to FIG. 1C, the network environment 100C includes thevehicle 105, the user device 110, the network 115, the user profilemanagement system 120, the vehicle functionality profile managementsystem 125, and a user device 135. The description of FIG. 1A generallyapplies to FIG. 1C, with examples of differences between FIG. 1A andFIG. 1C and other description provided herein. In an embodiment, theuser device 135 may be implemented in the same or similar manner as theuser device 110.

The vehicle 105 may perform a handshake procedure with one or both ofthe user devices 110 and 135. Assuming successful authentication of theuser devices 110 and 135, the vehicle 105 may determine whether the userdevices 110 and 135 have vehicle profile setting privileges based on anidentity of a respective user of the user devices 110 and 135. Forexample, the vehicle 105 may access data indicative of whether the userhas profile setting privileges (e.g., stored in the vehicle 105 and/orthe user profile management system 120). In some cases, the same usercannot authenticate from different devices and set profiles from eachdevice. For example, logging into the user's account from one device maybounce any other user session currently active through any of the user'sother devices, such that a latest session initiated by the userprevails.

In an aspect, the vehicle 105 may determine a vehicle functionalityprofile associated with the user that has operating setting privileges.For example, the vehicle 105 may access data indicative of the user'svehicle functionality profile stored (e.g., in the vehicle 105 and/orthe user profile management system 120). In some cases, the vehicle 105may only have one user with profile setting privileges assigned at atime. This user may temporarily or permanently transfer profile settingprivileges to another user.

In another aspect, the vehicle 105 may allow multiple users to haveprofile setting privileges. In other words, the vehicle 105 allows formultiple captains. The vehicle 105 may associate each of these captainswith a different priority value. If both the user devices 110 and 135are associated with users having profile setting privileges (e.g., bothusers are captains), the vehicle 105 may utilize priority valuespreviously associated with these captains when determining whose vehiclefunctionality profile to apply. Such priority values may be set (e.g.,agreed upon) by users (e.g., captains) of the vehicle 105. In somecases, a user associated with a higher priority value may transferprofile setting privileges to a user associated with a lower priorityvalue or no priority value (e.g., non-captain). Other manners by whichdifferent priority values may be assigned to different captains may beutilized. More generally, other manners by which a vehicle canaccommodate multiple captains may be utilized.

As an example that utilizes priority values, when seven different usersare designated as captains of the vehicle, each of the seven captainsmay be associated with a different priority value between 1 and 7,inclusive, where 1 is assigned to the captain with the highest priorityand 7 is assigned to the captain with the lowest priority. In thisexample, when the user of the user device 110 is assigned a priorityvalue of 2 and the user of the user device 135 is assigned a priorityvalue of 7, the vehicle 105 applies the vehicle functionality profile ofthe user of the user device 110. In one example, the captain assigned apriority value of 1 may be able to assign different priority values todifferent captains and/or the different captains may agree on thedifferent priority values associated to each captain.

Turning now to FIG. 1D, the network environment 100D includes thenetwork 115, the user profile management system 120, the vehiclefunctionality profile management system 125, a vehicle 140, a userdevice 145, and a vehicle management system 150. The description of FIG.1A generally applies to FIG. 1D, with examples of differences betweenFIG. 1A and FIG. 1D and other description provided herein. In anembodiment, the user device 145 may be implemented in the same orsimilar manner as the user device 110 of FIG. 1A.

The user device 145 may communicate with the vehicle management system150 to request the vehicle 140. By way of non-limiting example, thevehicle management system 150 may be provided by a vehicle dealershipfor selling and/or renting vehicles, vehicle sharing service (e.g.,vehicle timeshare scheduling service), and/or other party. For instance,using the vehicle management system 150, a user of the user device 145may buy the vehicle 140, rent the vehicle 140, or otherwise schedule useof the vehicle 140 (e.g., short-term or long-term usage of the vehicle140 with or without ownership of the vehicle 140). In some cases, theprovider of the vehicle management system 150 may also provide the userprofile management system 120 and/or vehicle functionality profilemanagement system 125 and/or may otherwise operate in conjunction withor be associated with a provider of the user profile management system120 and/or vehicle functionality profile management system 125.

In an embodiment, the vehicle management system 150 may host a websiteand/or provide an application that provides the user with an interfacefor requesting a vehicle. In one case, the user device 145 may provide avehicle functionality profile to the vehicle management system 150. Inanother case, the vehicle management system 150 may retrieve (e.g.,access) a vehicle functionality profile of the user of the user device145 from the user profile management system 120. The user device 145 mayprovide a selection of a vehicle, or the vehicle management system 150may select a vehicle for the user. For explanatory purposes, the vehicle140 is selected. The vehicle functionality profile can be applied to thevehicle 140, such as prior to the vehicle 140 being picked up by ordelivered to the user.

As an example, the vehicle management system 150 may provide a vehicletimeshare scheduler service, such that the user of the user device 145may provide a request to use a vehicle during a certain timeframe. Theuser may specify a vehicle functionality profile to apply to a vehicle.The user may be allowed to specify the specific vehicle to use duringthe timeframe, or the vehicle management system 150 may select thevehicle 140 for the user (e.g., based on the user's vehiclefunctionality profile, ride preferences, cost preferences, and/or otherparameters). For explanatory purposes, the vehicle 140 is selected. Thevehicle 140 may then be delivered to the user to accommodate the user'sspecified timeframe. The vehicle 140 may arrive for the user's use withthe vehicle functionality profile applied. In one case, the user may notneed to use the user device 145 or other device to perform a handshakeprocedure with vehicle 140. In another case, the user may use the userdevice 145 or other device to perform a handshake procedure, such thatthe vehicle 140 can verify the identity of the user of the vehicle 140.Since the user already provided the vehicle functionality profile toapply to the vehicle 140 when scheduling use of the vehicle with thevehicle management system 150, the user may not need to transmit thevehicle functionality profile to the vehicle 140 unless the user desiresto change to another vehicle functionality profile.

In some cases, in FIGS. 1A-1C, the user devices 110 and/or 135 maygenerally be a portable electronic device (e.g., smartphone, smartwatch)to facilitate application and portability of vehicle functionalityprofiles. In FIG. 1D, the user device 145 may be a portable electronicdevice (e.g., smartphone, smartwatch) or a less portable electronicdevice, such as a desktop computer, since interfacing of the user device145 with the vehicle 140 may be primarily via the vehicle managementsystem 150. In some cases, the user of the user device 145 may alsostore information pertaining to the vehicle 140 and vehiclefunctionality profile in another user device (e.g., a smartphone) of theuser.

FIG. 2 illustrates an example of a vehicle 200 in accordance with one ormore embodiments of the present disclosure. Not all of the depictedcomponents may be required, however, and one or more embodiments mayinclude additional components shown in the figure. Variations in thearrangement and type of the components may be made without departingfrom the spirit or scope of the claims as set forth herein. Additionalcomponents, different components, and/or fewer components may beprovided. In an embodiment, the vehicle 200 may be implemented in thesame or similar manner as the vehicles 105 and/or 130 of FIGS. 1A-1D.Although FIG. 2 depicts the vehicle 200 as a car, techniques describedherein may generally be applied to any terrestrial vehicle, navalvehicle, and/or aerial vehicle.

The vehicle 200 includes ECUs 205 formed of ECUs 205A-E, a vehiclecontrol unit (VCU) 210, a vehicle communication unit 215, and aninfotainment unit 220 connected to and communicating via a data bus 225.The data bus 225 of the vehicle 200 may provide pathways for multiplenetwork protocol communications (e.g., control area network (CAN), localinterconnect network (LIN), media oriented system transport (MOST),etc.). In some cases, the ECUs 205, VCU 210, vehicle communication unit215, infotainment unit 220, and data bus 225 may collectively provide ahardware platform of the vehicle 200.

The ECUs 205 of FIG. 2 may be discrete computing devices. The ECUs 205may include a processor (e.g., a microcontroller) to process data andexecute programmable instructions (e.g., assembly level instructions,functional sequential instructions, and/or object orientedinstructions). The ECUs 205 may each include on-board memory (e.g.,static random access memory (SRAM), electrically erasable programmableread-only memory (EEPROM), and/or flash memory) to store data receivedand/or generated by the ECU 205. The ECUs 205 may include input and/oroutput (I/O) ports such as supply voltage inputs, digital and/or analoginputs, relay drivers, H-bridge drivers, injector drivers, and/or logicoutputs. These I/O ports may be used by the ECUs 205 to receive datafrom sensors and transmit signals to mechanical components (e.g.,actuators) to affect the mechanical components' operations based on theoperating parameters of the vehicle functionality profile. The receiveddata and/or the transmitted signals may be communicated from the ECUs205 via the data bus 225 or through a directly wired connection betweenthe ECUs 205 and the functional component.

In some aspects, systems (e.g., engine, cooling, suspension, etc.) ofthe vehicle 200 may operate within confines of operating parametersconfigured into the systems' corresponding ECUs 205. By way ofnon-limiting example, the ECUs 205 may control engine performance,transmission, suspension brakes, tire inflation, and/or other aspects ofthe vehicle 200. Each of the ECUs 205 may control an individual systemof a vehicle. In some cases, the ECUs 205 may be specialized embeddedsystems (e.g., small form-factor computers) that contain a processor anda memory. The ECUs 205 may accept inputs and/or produce outputs. TheECUs 205 may be given programmed instructions that can affect theiroutput. For example, these instructions may conform to one or moreautomotive software architectures (e.g., automotive open systemarchitecture (AUTOSAR) and/or manufacturer specific softwarearchitecture) corresponding to the ECUs 205.

The ECUs 205 may control operation of the vehicle 200 according tooperating parameters and accept programmable instructions. The ECUs 205may accept programmed instructions that alter the control of thecorresponding vehicle system (e.g., by changing the operating parametersfor that system). For example, an ECU of a cooling system (e.g., alsoreferred to as cooling system ECU) may accept programmed instructionsthat alter a target pumping rate for a coolant pump of the coolingsystem of the vehicle 200, or an ECU such as an Engine Control Module(ECM) may accept programmed instructions that alter fuel quantitiesinjected to a piston chamber during engine operation.

The ECUs 205 of FIG. 2 may include vehicle functional ECUs (e.g., forcontrolling the engine, suspension, transmission, etc.), cabin feel ECUs(e.g., for controlling seat position, cabin noise, climate control,radio systems, voice controls, entertainment systems, illumination,etc.), and/or other ECUs (e.g., for controlling doors, headlights,mirror controls, a telematic control unit managing a GPS/navigationsystem, etc.) for controlling systems connected to the data bus 225.Each of the ECUs 205 may monitor its corresponding system by readingsensor signals. These sensors may be placed on the mechanical componentsof the corresponding system and report factors such as position,temperature, speed, etc. These factors contribute to if, when, and/orhow the ECUs 205 generates output signals to effectuate control over thecorresponding system. As an example, a suspension ECU may adjust thesuspension of the vehicle 200 based on a selected vehicle functionalityprofile. As another example, a door control ECU may have sensorsmonitoring door lock buttons, position of doors (e.g., open or closed),door locks (e.g., engaged or disengaged), and/or child lock switches(e.g., engaged or disengaged). Based on the readings of these sensors,the door control ECU may, for example, make a decision on whether or notto generate a lock engaging signal to the doors of the vehicle 200.

In some cases, each of the ECUs 205 may be of different size and/orcomplexity according to the system the individual ECU 205 iscontrolling. In the illustrated example, the ECUs 205 are incommunication with other units of the vehicle 200 via the data bus 225.In some examples, the ECUs 205 may send and/or receive informationand/or vehicle operation status (e.g., the status of the systems orcomponents of the vehicle 200, diagnostic information, telemetry data,etc.) to/from a remote device (e.g., a mobile device such as asmartphone, tablet, smartwatch, etc.) via the vehicle communication unit215 and/or may receive information (e.g., commands, vehiclefunctionality profiles, operating parameters, ride preferences,firmware/software updates, media files, etc.) from the remote device viathe vehicle communication unit 215. For example, such information may becommunicated between the ECUs 205 and the remote device using wireless(e.g., cellular, NFC, Wi-Fi, Bluetooth) and/or wired (e.g., USB)connections generated and/or managed by the vehicle communication unit215.

The ECUs 205 may be deployed in a one-to-one fashion. In this regard,each of the ECUs 205 may be provided with processing power and systemmemory to control a corresponding single system of the vehicle 200. Eachof the ECUs 205 may vary in size according to the complexity of thecorresponding system. For example, an engine control module may be amore robust ECU than a transmission ECU. In some cases, the ECUs 205 ofthe vehicle 200 may be more robust than a typical ECU and capable ofcontrolling multiple systems (e.g., the engine control module maycontrol the engine and the transmission system). For example, a robustECU may be provided with amounts of processing power greater than atypical ECU processor (e.g., more cores, faster clocking speeds, largerprocessing cache, etc.) and higher amounts of RAM to allow control ofmore than one system.

The vehicle 200 of FIG. 2 is provided with the infotainment unit 220that includes components such as a dashboard display, a media center, acenter console display, driver accessible buttons (e.g., temperaturecontrols, door lock controls), etc. The infotainment unit 220 may alsoinclude a data store to store media (e.g., movies, music, televisionprograms, podcasts, etc.), system firmware, navigation data, diagnosticinformation, data collected by data collection systems (e.g., camerasmounted externally on the vehicle 200, weather data collection, etc.),vehicle functionality profiles, ride preferences, etc.

The infotainment unit 220 may also function as a human machine interfacethat provides options to a rider (e.g., driver, passenger) of thevehicle 200 and communicates the rider's selected options to thecorresponding ECU 205 and/or the VCU 210. In some cases, theinfotainment unit 220 may present vehicle functionality profileselection options and/or ride preference selection options to the ridervia a center console display and communicate the selected vehiclefunctionality profile to the VCU 210. In an embodiment, a user device(e.g., the user device 110) may be utilized in place of or in additionto the infotainment unit 220, at least with regard to providing vehiclefunctionality profile selection options and/or ride preference selectionoptions to the VCU 210. For example, the user device may communicatewith the VCU 210 via the vehicle communication unit 215.

The vehicle communication unit 215 may manage communications between thevehicle 200 and network entities via a wired and/or wireless connection(e.g., an IEEE 802.11 wireless connection, a Bluetooth connection, acable/DSL/satellite modem, a cell tower, etc.). Network entities mayinclude a user profile manager, a vehicle profile manager, a ridehailer, a vehicle seller, a car manufacturer, a telecommunicationservice provider, an internet service provider, a media provider, and/orother entities that may utilize or provide the vehicle 200. In someexamples, the vehicle communication unit 215 may be implemented as anarray of communication platforms (e.g., Bluetooth modem, NFC reader,radio frequency (RF) communication array, 4G Long-Term Evolution (LTE),Global System for Mobile Communications (GSM) modem, etc.). The vehiclecommunication unit 215 may maintain network information (e.g., a networkaddress, network settings, etc.) for sending and/or receiving data overvarious communication platforms using various communication protocols.The vehicle communication unit 215 may manage the connections betweenthe vehicle 200 and outside entities (e.g., a Bluetooth connectionbetween a user device and the VCU 210). In some examples, the vehiclecommunication unit 215 may establish communicative connections withdifferent network entities (e.g., a car manufacturer, atelecommunication service provider, an internet service provider, amedia provider, etc.) to send data from the vehicle 200 to the networkentities and/or receive data from the network entities for delivery tothe vehicle 200 (e.g., vehicle functionality profiles). In addition, thevehicle communication unit 215 may communicate with a computing device,such as a personal electronic device (e.g., a smartphone, a tablet, asmart watch, etc.), a personal computer (e.g., a desktop, a laptop,etc.), a diagnostic computer (e.g., at a dealership, etc.), etc. In someexamples, one or more computing devices connected to the vehicle 200 viathe vehicle communication unit 215 may transmit and receive information,such as vehicle diagnostic data, media files (e.g., movies, music,television programs, etc.) uploaded to a memory of the vehicle 200,firmware and/or software updates, vehicle functionality profiles, ridepreferences, etc.

The VCU 210 may be implemented by any device accompanying software thataccepts, processes, and/or transmits data within a vehicular informationnetwork (e.g., the data bus 225). The VCU 210 is in communication withother components of the vehicle 200, such as the ECUs 205, the vehiclecommunication unit 215, and the infotainment unit 220, via the data bus225. In FIG. 2, the VCU 210 acts as the controller of the ECUs 205 inthe vehicle 200. In some cases, the VCU 210 can instruct and/or alterthe operating parameters of the ECUs 205 of the vehicle 200, such as inaccordance with a vehicle functionality profile provided by the user tothe vehicle 200.

In some cases, the VCU 210 may receive vehicle functionality profilesvia the vehicle communication unit 215. For example, the VCU 210 maystore vehicle functionality profiles or may have access to vehiclefunctionality profiles stored in the vehicle 200. The vehiclefunctionality profiles stored in the vehicle 200 may include those thatcan be applied to (e.g., are compatible with) the vehicle 200. In somecases, the vehicle functionality profiles stored in the vehicle 200 mayinclude those that cannot be applied to (e.g., are not compatible with)the vehicle 200 (e.g., with an indication of the lack of compatibilitywith the vehicle functionality profiles also stored in the vehicle 200).The vehicle functionality profiles that can be applied to the vehicle200 may be determined as part of manufacturing the vehicle 200 orpost-manufacturing.

For example, the VCU 210 may be in communication with (e.g., via thevehicle communication unit 215) a server (e.g., the vehiclefunctionality profile management system 125) storing vehiclefunctionality profiles. Data describing available vehicle functionalityprofiles at the server may be collected by the VCU 210. Such data may bepresented via a display of the infotainment unit 220 and/or a userdevice. The user device may have stored vehicle functionality profilesof the vehicle 200 via a mobile application in communication with aserver (e.g., the vehicle functionality profile management system 125)storing the vehicle functionality profiles. The vehicle functionalityprofile selected via the infotainment unit 220 or the user device may betransmitted to the VCU 210. In some cases, such as when the vehiclefunctionality profile is provided by the user device, the VCU 210 mayaccess data stored in the vehicle 200 and, if needed, access the server(e.g., the vehicle functionality profile management system 125) todetermine whether the vehicle functionality profile can be applied tothe vehicle 200. For example, the vehicle 200 may access the server viaa mobile application installed in the vehicle 200. In this regard, theVCU 210 may determine if a selected vehicle operation profile is storedlocally and, if the selected vehicle functionality profile is not storedlocally, the VCU 210 may request and/or obtain the selected vehiclefunctionality profile from the remote server. In some examples, thevehicle functionality profiles may be obtained as an e-commercetransaction. In other examples, the vehicle functionality profiles maybe obtainable from the remote server in a subscription based service.

The VCU 210 applies changes to operating parameters of correspondingECUs 205 based on the vehicle functionality profiles, such as whentransitioning from applying one vehicle functionality profile to thevehicle 200 to applying another vehicle functionality profile to thevehicle 200. Each transition may be associated with a differentoperation of the vehicle 200. For example, a first vehicle functionalityprofile may be applied to a first operation of the vehicle 200. Toswitch to a second vehicle functionality profile, the first vehiclefunctionality profile may be removed from the first operation of thevehicle 200 and the second vehicle functionality profile may be appliedto a second operation of the vehicle. When the instructions have beenexecuted to change the operating parameters of the vehicle 200 accordingto the newly applied vehicle functionality profile, the vehicle 200 mayhave a different level of performance and/or feel experienced by a rider(e.g., driver, passenger) of the vehicle 200 when the vehicle 200 isoperated (e.g., driven). In some cases, when the vehicle functionalityprofile has been successfully applied, the vehicle 200 may indicate tothe user that the vehicle functionality profile has been successfullyapplied. For example, the vehicle 200 may display a textual and/orpictorial indication on a console display provided in the vehicle 200and/or transmit the textual and/or pictorial indication to the user'sdevice (e.g., for display by the user's device).

In the illustrated example of FIG. 2, the vehicle 200 includes a body230, wheels 235, a seat 240, a motor 245, a cooling system 250, and atransmission 255. The body 230 covers an exterior of the vehicle 200 toprotect and/or contain the other parts of the vehicle 200. In oneexample, the ECU 205A controls braking systems, ECU 205B controls thecooling system 250, and ECU 205C controls the transmission system. Themotor 245 may be implemented by a combustion engine, a direct current(DC) electric motor, and/or an alternating current (AC) electric motor.The motor 245 may be communicatively coupled to the ECU 205D and thetransmission 255. The ECU 205D may receive operating power frombatteries 260 to control components of the motor 245 (e.g., throttlevalve, sparkplugs, pistons, fuel injectors, etc.). The ECU 205D mayreceive signals from a driver (e.g., via sensors in a pedal, etc.) todetermine corresponding control signals to communicate to the motor 245(e.g. , manipulating throttle valve, firing spark plugs, altering fuelinjection quantities, etc.). The motor 245 may supply torque to thetransmission 255 to drive two or more wheels 235.

FIG. 3 illustrates an example of a table 300 of vehicle functionalityprofiles 305 in accordance with one or more embodiments of the presentdisclosure. In an embodiment, the vehicle 200 may utilize the table 300.The table 300 may be stored in a user device (e.g., 110), the vehicle200 (e.g., the VCU 210), a vehicle functionality profile managementsystem (e.g., 125), and/or other device. Each of the vehiclefunctionality profiles 305 includes values for each of a plurality ofoperating parameters. To change from one vehicle functionality profileto another vehicle functionality profile, the VCU 210 may communicateinstructions to corresponding ECUs to alter a mechanical or electricalcomponent of the vehicle 200 according to values for correspondingoperating parameters. The vehicle functionality profiles 305 includeoperating parameters such as a stroke length 310, a braking force 320,an air intake angle 330, a gear ratio 340, a suspension height 350, anda coolant flow rate 360.

With reference back to the table 300, the stroke length 310 operatingparameter may direct a corresponding ECU 205 to adjust the distance inwhich the pistons in the engine of the vehicle 200 travel during astroke (e.g., a reciprocating motion cycle). For example, the VCU 210may transmit instructions to an appropriate ECU (e.g., ECU that controlsthe engine of the vehicle 200) to change the mechanical seating of thepiston on the crankshaft to effectuate the desired travel distance(e.g., stroke length) of the piston. The braking force 320 operatingparameter may control the force (e.g., in newtons) with which acorresponding ECU 205 directs the brake calipers to apply to the wheeldiscs on the vehicle 200. The air intake angle 330 operating parametermay direct a corresponding ECU 205 to limit an angle of the manifolddevice of the engine of the vehicle 200. The gear ratio 340 operatingparameter may direct the corresponding ECU 205 to adjust the gear ratioof the transmission of the vehicle 200 (e.g., adjusting a continuouslyvariable transmission gear box). The suspension height 350 operatingparameter may direct a corresponding ECU 205 to adjust the suspensionheight to a certain height from the top of the wheels. For example, thecorresponding ECU 205 may use hydraulic and or air compression systemsto raise or lower the body of the vehicle 200 to the desired height. Thecoolant flow rate 360 operating parameter may direct a corresponding ECU205 to adjust the coolant pump of the vehicle 200 to achieve a targetflow rate in liters per minute.

Each operating parameter is representative of the behavior of eachvehicle type represented in the vehicle functionality profiles 305. Forexample, the sports car and supercar have operating parameters that,when implemented, achieve a fast, technical level of performance whileoperating the vehicle 200. The example luxury sedan and SUV vehiclefunctionality profiles have operating parameters that, when implemented,achieve a smooth and/or comfortable level of performance. Thus, byimplementing one of the vehicle functionality profiles 305, the vehicle200 may emulate the level of performance of the implemented vehiclefunctionality profile. For example, using the sports car vehiclefunctionality profile, the vehicle 200 will operate like, and achievethe levels of performance of, a sports car.

It will be appreciated that the vehicle functionality profiles 305 andoperating parameters 310, 320, 330, 340, 350, and 360 shown in the table300 of FIG. 3 may be a sample of vehicle functionality profiles andoperating parameters. A table of vehicle functionality profiles may havemore, fewer, and/or different vehicle functionality profiles and/oroperating parameters than those provided in the table 300. In somecases, the vehicle functionality profiles may be associated withparticular known makes and models of vehicles.

In some embodiments, operating parameters of the vehicle 200 may beassociated with safety margins within which the values of the operatingparameters may be set while maintaining performance and safety. In someaspects, the safety margins may be provided as part of the certificationof the hardware platform utilized by the vehicle 200 to controloperation of the vehicle 200. In some cases, since the various operatingparameters may be dependent on one another, an adjustment in value ofone operating parameter may affect the safety margins associated withone or more of the remaining operating parameters.

In some embodiments, the vehicle 200 applies a vehicle functionalityprofile without adjustment to any operating parameters defined in thevehicle functionality profile. In some aspects, the vehicle 200 and theuser are unable to adjust the vehicle functionality profile. In otherembodiments, adjustment of operating parameters of a vehiclefunctionality profile may be allowed. In such embodiments, operatingparameters of a vehicle functionality profile may be adjusted to obtainan adjusted version of the vehicle functionality profile. The VCU 210may analyze and validate the adjusted version of the vehiclefunctionality profile for performance and safety. For example, in somecases, the adjustment of a vehicle functionality profile may be allowedby a captain of a vehicle, the vehicle, a provider of the vehiclefunctionality profile, a provider of a vehicle renting service, avehicle administrator, and/or a certifier of the vehicle functionalityprofile.

The set of operating parameters of the adjusted version may be validatedagainst a set of rules and operating parameter ranges defining operationof the vehicle. The set of rules may be, or may be based on, safetymargins associated with the operating parameters. For example, thesafety margin may provide minimum and maximum values for variousoperating parameters of the vehicle. In some cases, the minimum andmaximum values may be compiled as part of a certification process of thehardware platform of the vehicle 200. Rules and operating parameters maybe part of manufacturing/testing of the hardware platform of the vehicle200. In this regard, the hardware platform of the vehicle 200 may beassociated with safe operating parameter ranges and may validateincoming vehicle functionality profiles against such safe operatingparameter range for safety. In an aspect, a first subset of operatingparameters that conform to the set of rules and/or operating parameterranges may be marked as valid, and a second subset of operatingparameters in the vehicle functionality profile may be marked as invalidwhen the second subset does not conform to the set of rules and/oroperating parameter ranges defining operation of the vehicle. If thecombination of the operating parameters of the first subset does not endup creating an unsafe condition for the rider(s), instructionscorresponding to the operating parameters of the first subset may betransmitted to corresponding ECUs.

With reference to FIGS. 2 and 3, when new values for various operatingparameters are validated, the VCU 210 may generate instructions tochange current values of the operating parameter for the vehicle 200 solong as the vehicle 200 remains safe to operate upon application of thechanges to the operating parameters. In this regard, the VCU 210 maygenerate instructions for the ECU 205 that controls the operatingparameter and transmit the instructions to the ECU 205. In someexamples, failure to validate an operating parameter from a vehiclefunctionality profile may result in no change to the current operatingparameter of the vehicle 200. In other examples, when an operatingparameter from the new vehicle functionality profile exceeds acorresponding maximum operating parameter for the vehicle 200,instructions are generated by the VCU 210 to change the currentoperating parameter to the maximum allowable operating parameterprovided that the vehicle 200 remains safe for the rider(s) upon thechange in the operating parameter.

As such, in some aspects, operating parameters of vehicle functionalityprofiles may be validated against a set of rules (e.g., safety margins)that defines the operation of the existing systems of the vehicle 200.The validation may help ensure that changes made to existing operatingparameters do not make the vehicle 200 unsafe to drive and that improperwear is not induced into the components of the vehicle 200 after theoperating parameters are changed. For example, the engine air intakeoperating parameter may be validated so that an improper amount of airis not allowed into the engine (e.g., an improper amount may damage theengine). As a further example, the gear shift ratio operating parameterof a luxury sedan vehicle functionality profile (e.g., a Mercedes S550vehicle functionality profile) may be validated against the capabilitiesof the gearbox of the vehicle 200 to ensure that the gearbox of thevehicle 200 can execute the luxury sedan gear shift ratio in the luxurysedan vehicle functionality profile. Improper gear shift ratios maycause damage to the engine and/or clutch of the vehicle 200 (e.g.,through unnecessary heating). If the operating parameters are validatedas safe against the safety values, they may be applied to the vehicle200 to achieve the desired vehicle functionality profile (e.g., toachieve a performance emulation). In some cases, adjusted versions ofvehicle functionality profiles may be validated as safe or determined tobe unsafe and stored for future reference (e.g., in a user device, thevehicle 200, and/or the vehicle functionality profile management system125). In some cases, validation may be performed on a combination ofoperating parameters, such as a combination of engine torque, brakecapacity, and tire inflation, rather than validation on each operatingparameter in isolation from other operating parameters.

In some aspects, vehicle functionality profiles of a vehicle may be set(e.g., by a captain) to be activated based on certain parameters (e.g.,activation parameters) such as, for example, the detection of thepresence of a certain user. For example, a vehicle may detect asmartphone associated with a captain and implement a favorite drivingprofile of the captain. Additional activation parameters may includegeographic location. For example, a vehicle entering mountainous terrainmay enable a stored SUV and/or all-wheel drive driving profile to betterhandle potential conditions. Another activation parameter may be currentdriving conditions (e.g., traffic congestion data obtained from anavigation application in the infotainment system, current weatherconditions at the location of the vehicle, road type according to thenavigation application (e.g., highway, street, dirt road, etc.)). Forexample, detected weather may enable a stored SUV and/or all-wheelvehicle functionality profile to better handle potential conditions.Another example condition may be grid-locked traffic. For example, thevehicle may transition to an economy sedan vehicle functionality profileto conserve fuel in a grid-lock. Another parameter may include vehiclestatus. For example, a certain vehicle functionality profile associatedwith past successful driving may be activated when problems are detectedin the vehicle. Another activation parameter may be vehiclefunctionality profiles of other vehicles in the vicinity of the vehicleusing the example vehicle control unit disclosed herein. For example,when a particular vehicle functionality profile is detected as enabledin a nearby vehicle, the vehicle control unit may enable that particularvehicle functionality profile in the vehicle.

FIG. 4 is a block diagram of an example implementation of the VCU 210 ofFIG. 2 in accordance with one or more embodiments of the presentdisclosure. Not all of the depicted components may be required, however,and one or more embodiments may include additional components shown inthe figure. Variations in the arrangement and type of the components maybe made without departing from the spirit or scope of the claims as setforth herein. Additional components, different components, and/or fewercomponents may be provided.

The VCU 210 includes a communication bridge 405, an interface controller410, an instruction generator 415, a safety controller 420, and avehicle functionality profile data store 425. The communication bridge405 may manage communication originating from or directed to the VCU210. In an aspect, the communication bridge 405 may be utilized to applychanges to the vehicle functionality profile of the vehicle bytransmitting the signals to alter the operating parameters of the ECUsin the vehicle 200. The communication bridge 405 may encode and decodemessages between the VCU 210 and other components of the vehicle 200(e.g., the ECUs 205, the vehicle communication unit 215, theinfotainment unit 220, etc.) via the data bus 225. For example, thecommunication bridge 405 may manage messages of the VCU 210 to be sentto corresponding ECUs 205 based on changes dictated by a requestedvehicle functionality profile. In some cases, the VCU 210 may leveragethe communication bridge 405 to communicate with a remote device (e.g.,a smartphone) and/or a remote server using the vehicle communicationunit 215 to establish an external data connection (e.g., Wi-Fi, LTE,Bluetooth, NFC, etc.). In some cases, the communication bridge 405 maydrive the vehicle communication unit 215 (e.g., powers the antenna inthe radio frequency waveguide, drives the loop-inductor-antenna of theNFC system, etc.).

The interface controller 410 may detect requests to alter the vehiclefunctionality profile of the vehicle 200. In FIG. 4, the interfacecontroller 410 is in communication with the communication bridge 405,instruction generator 415, safety controller 420, and vehiclefunctionality profile data store 425. For example, a request to alterthe vehicle functionality profile of the vehicle 200 may be selected bya rider via interaction with the rider's smartphone (e.g., user device110). The interface controller 410 may detect the request and theselected vehicle functionality profile (e.g., via a message communicatedacross the data bus 225 via the vehicle communication unit 215).

In some cases, when a request to change the vehicle functionalityprofile applied to the vehicle 200 is detected, the interface controller410 may verify whether the requested vehicle functionality profile isstored locally (e.g., in the vehicle functionality profile data store425). If the requested vehicle functionality profile is not storedlocally, the interface controller 410 may generate a request to a remotedevice and/or server (e.g., the vehicle functionality profile managementsystem 125) to obtain the requested vehicle functionality profile (e.g.,via the communication bridge 405). In this regard, the interfacecontroller 410 may generate a request to the remote device and/or serverto obtain data associated with the requested vehicle functionalityprofile, such as values for operating parameters that define the vehiclefunctionality profile and/or an indication of whether the requestedvehicle functionality profile may be applied to the vehicle 200. Whenobtained, the requested vehicle functionality profile may be stored inthe vehicle functionality profile data store 425 (e.g., for current andfuture use) and verified as being stored locally.

When the vehicle functionality profile is verified as stored locally,the interface controller 410 may provide the requested vehiclefunctionality profile to the instruction generator 415. The instructiongenerator 415 may parse the obtained vehicle functionality profile intooperating parameters and associated values. The instruction generator415 may generate and transmit instructions to the ECUs 205 of thevehicle 200. The instructions may be executed by the ECUs 205 to causethe ECUs 205 to adjust values for their corresponding operatingparameters of the vehicle 200. By enacting the changes to the operatingparameters of the vehicle 200, the desired/requested vehiclefunctionality profile is applied to the vehicle 200.

In some cases, the instruction generator 415 may determine which of theECUs 205 are associated with the parsed operating parameters to properlygenerate operating parameter change instructions. To that end, theinstruction generator 415 may be provided with a table that lists theECUs 205, the ECUs' instruction set language, and which operatingparameters the ECUs 205 utilize/control. For example, gear shift timing,engine air intake angle, and coolant flow rate may be associated withthe engine ECU, which may communicate in embedded C and/or any othersuitable language. Braking response may be associated with another ECUcommunicating in VHDL and/or any other suitable language. Thus, byutilizing the table that lists the ECUs 205, the instruction generator415 may generate properly coded instructions to each ECU 205 associatedwith each operating parameter such that proper adjustments are made inview of the requested vehicle functionality profile. For example, theengine air intake angle operating parameter may be adjusted through anembedded C command issued to the engine ECU by the instruction generator415. In general, ECU application programming interfaces are known to theinstruction generator 415 so that the instruction generator 415 canalter operating parameters.

In an embodiment, when a vehicle functionality profile may be adjusted(e.g., within confines of safety margins), the values for the operatingparameters of the adjusted vehicle functionality profile may be providedto the safety controller 420 so that they may be validated. In one case,the adjusted values may be provided by a user device of a vehicle user.If the safety controller 420 verifies that the values for the operatingparameters and combinations thereof are within the safety margins, theoperating parameters may be transmitted back to the instructiongenerator 415. The instruction generator 415 may generate and transmitinstructions for the ECUs 205 based on the adjusted values of theoperating parameters. In some cases, the adjusted vehicle functionalityprofile may be stored in vehicle functionality profile data store 425for future use.

If the safety controller 420 determines that one or more values of theoperating parameters are outside the safety margin, and/or a combinationof the values may be unsafe, the safety controller 420 may transmit anindication to the instruction generator 415 to not create and/ortransmit instructions to the ECUs 205. In one example, the safetycontroller 420 may communicate with the user device via thecommunication bridge 405, data bus 225, and vehicle communication unit215 to indicate the error, request the user to authorize the vehicle 200to use the vehicle functionality profile without adjustment or requestthe user to select another vehicle functionality profile, and/or requestdifferent values for the operating parameters. In other examples, thesafety controller 420 may adjust, or inform the instruction generator415 to adjust, the values of the operating parameters to conform to safevalues based on the safety margins. The vehicle functionality profiledata store 425 may store vehicle functionality profiles. The vehiclefunctionality profiles may be acquired remotely via the communicationbridge 405, such as from the vehicle functionality profile managementsystem 125.

FIG. 5 illustrates a flow diagram of an example of a process 500 forfacilitating application and portability of vehicle functionalityprofiles and vehicle ride preferences in accordance with one or moreembodiments of the present disclosure. For explanatory purposes, theprocess 500 is described herein with reference to the example networkenvironments 100A-D of FIGS. 1A-1D; however, the process 500 is notlimited to the example network environments 100A-D of FIGS. 1A-1D. Notethat one or more operations may be combined, omitted, and/or performedin a different order as desired.

At block 505, the vehicle 105 receives data indicative of an identity ofa user of the vehicle 105. The vehicle 105 may receive the dataindicative of the identity from the user device 110 of the user, such asvia a wired or wireless connection between the vehicle 105 and the userdevice 110. In some cases, an application (e.g., app) associated with(e.g., running on) the vehicle 105 may receive the data indicative ofthe identity from an application associated with (e.g., running on) theuser device 110. The vehicle 105 and the user device 110 may havecorresponding applications installed to facilitate applying of a vehiclefunctionality profile to the vehicle 105.

For example, the vehicle 105 may receive the data from the user device110 as part of a handshake procedure. The handshake procedure may beinitiated (e.g., by the vehicle 105 or user device 110) in accordancewith settings provided for the vehicle 105 or the user device 110. Theidentity of the user may be an account username, an actual name, acontact information, biometrics, and/or generally any other informationthat identifies the user (e.g., to the application installed on thevehicle 105). In some cases, the user may ride the vehicle 105. In othercases, the user does not ride the vehicle 105. For example, the user mayrent the vehicle 105 for use by others. As another example, the user mayrent the vehicle 105 to transport a payload and not have any riders.

At block 510, the vehicle 105 determines whether the user has profilesetting privileges based on the identity of the user. In some cases, theapplication associated with the vehicle 105 may determine whether theuser has profile setting privileges. If the user does not have profilesetting privileges, the process 500 proceeds to block 515. At block 515,the vehicle 105 determines whether there are any remaining users (e.g.,users within a threshold distance of the vehicle 105). If there are nomore users (e.g., no users have operation setting privileges), theprocess 500 proceeds to block 520. At block 520, the vehicle 105 appliesa default vehicle functionality profile to an operation of the vehicle105. In some cases, the default vehicle functionality profile may havepreviously been set by a manufacturer of the vehicle 105, anadministrator of the vehicle 105, or a captain of the vehicle 105. Inone case, the vehicle 105 may receive ride preferences from one or moreusers of the vehicle 105. In this case, the vehicle 105 may apply thedefault vehicle functionality profile and apply (e.g., accommodate) theride preferences to the operation of the vehicle 105. If there areremaining users, the process 500 proceeds to block 505, in which thevehicle 105 receives data indicative of an identity of another user.

If the user has profile setting privileges, the process 500 proceeds toblock 525. At block 525, the vehicle 105 determines the vehiclefunctionality profile associated with the user to apply to an operationof the vehicle 105. The vehicle functionality profile may adjust currentoperating parameters of the vehicle 105. For example, the vehicle 105 isin a parked mode when the vehicle functionality profile is applied tothe vehicle 105 to adjust the current operating parameters of thevehicle 105. In some aspects, the vehicle functionality profile may beone of a plurality of predetermined vehicle functionality profiles(e.g., stored on the vehicle functionality profile management system125) selectable by the user. In an aspect, the application associatedwith the vehicle 105 may determine the vehicle functionality profile toapply to an operation of the vehicle 105. In one case, the vehicle 105may receive the vehicle functionality profile from the user device 110of the user. In another case, the vehicle 105 may retrieve the vehiclefunctionality profile associated with the user. For example, suchinformation may be retrieved from memory of the vehicle 105 and/or theuser profile management system 120. In an aspect, the vehicle 105 maydetermine ride preferences associated with the user by receiving themfrom the user device 110 and/or obtaining them from memory of thevehicle 105 and/or user profile management system 120. In one example,the ride preferences may be obtained along with the vehiclefunctionality profile or as separate communications. In some cases, theride preferences may be tightly coupled with the vehicle functionalityprofile, such as to facilitate providing of a feel and performance of aparticular known make or model.

At block 530, the vehicle 105 determines whether the vehiclefunctionality profile can be applied to (e.g., is compatible with) thevehicle 105. In an aspect, the application associated with the vehicle105 may determine whether the vehicle functionality profile can beapplied to (e.g., is compatible with) the vehicle 105. In some cases,the vehicle 105 may be certified as being compatible with at least asubset of the plurality of predetermined vehicle functionality profiles.If the vehicle 105 determines that the vehicle functionality profile canbe applied to the vehicle 105, the process 500 proceeds to block 535. Atblock 535, the vehicle 105 applies the vehicle functionality profile toan operation of the vehicle 105. To apply the vehicle functionalityprofile, control signals may be provided to ECUs of the vehicle 105 toeffectuate appropriate control of operating parameter values (e.g.,stoke length, suspension height, etc.) that define the vehiclefunctionality profile. The vehicle 105 may also apply the ridepreferences of the user. In some cases, ride preferences for multipleusers of the vehicle 105 may be obtained by the vehicle 105 and appliedto the vehicle 105. In this regard, while the vehicle 105 may apply thevehicle functionality profile of a captain, ride preferences may beprovided by the captain and/or other users of the vehicle 105.

If the vehicle 105 determines that the vehicle functionality profilecannot be applied to the vehicle 105, the process 500 proceeds to block540. At block 540, the vehicle 105 transmits, to the user device 110,data indicative of a subset of the predetermined vehicle functionalityprofiles that can be applied to the vehicle 105. For example, the userdevice 110 may display the subset of the vehicle functionality profileson a display of the user device 110 to facilitate selection of acompatible vehicle functionality profile by the user. At block 545, thevehicle 105 receives a vehicle functionality profile selection among thesubset from the user device 110. At block 535, the vehicle 105 appliesthe vehicle functionality profile among the subset.

In some aspects, the user of the user device 110 may transfer vehicleprofile setting privileges to another user. For example, the applicationassociated with the vehicle 105 may receive, from the applicationassociated with the user device 110, an indication to transfer vehicleprofile setting privileges to another user. The application associatedwith the vehicle 105 may then receive a vehicle functionality profilefrom a user device of this other user (e.g., receive from an applicationassociated with this other user's device) and determine whether thevehicle functionality profile can be applied to the vehicle 105.

Although the process 500 describes an embodiment in which a single userhas profile setting privileges, in some embodiments, multiple users canhave profile setting privileges. In these embodiments, each user may beassociated with a different priority value. The vehicle 105 may identifythe user that is associated with a highest priority value and determinethe vehicle functionality profile of this identified user.

In another embodiment, if the vehicle 105 determines that no users inproximity of (e.g., within or within a predetermined distance to) thevehicle 105 have profile setting privileges, such as in a case nocaptain(s) rides the vehicle 105, a captain(s) of the vehicle 105 mayprovide a setting that allows users (e.g., non-captains) of the vehicle105 to provide their vehicle functionality profiles in one or morespecified manners. For example, the vehicle 105 may be set to allow anyusers with appropriate hardware and/or software (e.g., appropriateapplication installed on user device and/or appropriate subscription toservice) to provide their vehicle functionality profile in the specifiedmanner(s). As a particular example, a specified manner may be for a userto provide the user's device in proximity (e.g., with communicationrange) to an NFC chip in the vehicle 105 to allow communication ofappropriate data (e.g., user's identity, vehicle functionality profile,and/or ride preferences) to the vehicle 105.

As described in the foregoing, the vehicle 105 performs the process 500in some embodiments. In other embodiments, with reference to the networkenvironment 100D of FIG. 1D, the vehicle management system 150 mayperform the process 500. In some cases, the vehicle management system150 may host a website to facilitate buying, selling, renting, and/orsharing of vehicles. In these cases, as an example, the vehiclemanagement system 150 may provide a listing of vehicles and vehiclefunctionality profiles compatible with each vehicle. The vehiclemanagement system 150 may receive a user's identity (e.g., block 505)when the user logs into the website. The vehicle management system 150may determine vehicle functionality profile of the user (e.g., block525), such as based on user selection of a vehicle functionality profileor based on information previously provided by the user (e.g., stored aspart of the user's profile for the user's website account). In somecases, the user may store the same or different vehicle functionalityprofile on the user device 110, user profile management system 120,and/or vehicle management system 150, such that the user does not needto manually provide the vehicle functionality profile each time the useruses a service provided by the vehicle management system 150. Thevehicle management system 150 may apply the vehicle functionalityprofile to operate an appropriate vehicle (e.g., block 535) bytransmitting instructions to the vehicle that, when executed by thevehicle, causes the vehicle to apply the vehicle functionality profile.In some cases, the vehicle provided to the user may be selected by theuser. In other cases, the vehicle provided to the user may be selectedby the vehicle management system 150 (e.g., based on vehiclefunctionality profile, ride preferences, cost preferences, and/or otherpreferences provided by the user). In some aspects, the vehicle 105, theuser device 110, and the vehicle management system 150 may haveapplications installed and running thereon to facilitate selectingand/or applying of a vehicle functionality profile for an operation ofthe vehicle 105.

FIG. 6 illustrates a block diagram of an example of an electronic system600 with which one or more embodiments of the present disclosure may beimplemented. In an embodiment, the electronic system 600 may be, mayinclude, or may be referred to as, processor platform. The electronicsystem 600 can generally be any type of computing device. In anembodiment, the electronic system 600 can be, can include, and/or can bea part of, one or more of the vehicle 105, user device 110, network 115(e.g., access points of the network 115), user profile management system120, vehicle functionality profile management system 125, vehicle 130,user device 135, vehicle 140, user device 145, vehicle management system150, and vehicle 200 shown in FIGS. 1A-1D and 2, and/or componentsthereof (e.g., VCU 210). For example, the electronic system 600 may be,may include, or may be a part of, the vehicle 105.

The electronic system 600 includes one or more processors 605, volatilememory 610, non-volatile memory 615, one or more mass storage devices620, one or more network interfaces 625, one or more input deviceinterfaces 630, one or more output device interfaces 635, and a link640. The link 640 may be, may include, or may be implemented by, a bus,one or more point-to-point connections (e.g., intra-chip connectionsand/or inter-chip connections), and/or other connections forfacilitating connection of and/or communication between variouscomponents of the electronic system 600.

The link 640 couples (e.g., connects) to the processor(s) 605. In anaspect, the processor(s) 605 of the illustrated example is hardware. Forexample, the processor(s) 605 can be implemented by one or moreintegrated circuits, logic circuits, processors, and/or controllers fromany desired family or manufacturer. The processor(s) 605 includes one ormore processing units 645 configured via instructions 655 stored in alocal memory 650 (e.g., a cache) of the processor(s) 605. In an aspect,the instructions 655 may include instructions that when executed,perform at least some instructions of FIG. 5. The processor(s) 605 is incommunication with the volatile memory 610, non-volatile memory 615, andthe mass storage device(s) 620 via the link 640.

The link 640 couples (e.g., connects) to the volatile memory 610,non-volatile memory 615, and mass storage device(s) 620. The volatilememory 610 may include synchronous dynamic RAM (SDRAM), dynamic RAM(DRAM), static RAM (SRAM) Rambus dynamic RAM (RDRAM), and/or other typesof volatile memory. The non-volatile memory 615 may include read-onlymemory (ROM), programmable ROM (PROM), erasable programmable ROM(EPROM), electrically erasable programmable ROM (EEPROM), flash memory,non-volatile RAM (NVRAM), and/or other types of non-volatile memory. Thenon-volatile memory 615 may store instructions and data even when theelectronic system 600 is off. The mass storage device(s) 620 may includefloppy disk drives, hard disk drives, compact disk drives, DVD drives,Blu-ray disc™ drives, redundant array of independent disks (RAID)systems, solid state memories, and/or other devices that allow storage.Access to the volatile memory 610, non-volatile memory 615, and massstorage device(s) 620 may be controlled by a memory controller (notshown). In an aspect, the coded instructions 655 corresponding to atleast some instructions of FIG. 5 may be stored in the volatile memory610, non-volatile memory 615, mass storage device(s) 620, local memory650, and/or on a removable tangible computer readable storage medium,such as a disk 660 (e.g., CD, DVD, or Blu-ray disc™)

The link 640 couples (e.g., connects) to the network interface(s) 625.The network interface(s) 625 may couple the electronic system 600 to oneor more networks 665. In this manner, the electronic system 600 can be apart of a network of devices, such as a local area network (LAN), a WAN,or an Intranet, or a network of networks, such as the Internet. In anembodiment, the network interface(s) 625 may facilitate communicationbetween the electronic system 600 and a cellular network, such as acellular network that includes the network 115 of FIGS. 1A-1D. Thenetwork interface(s) 625 may be implemented by any type of interfacestandard, such as an Ethernet interface, a USB interface, a PCI expressinterface, a wireless network interface (e.g., wireless LAN interface),a cellular network interface, an NFC interface, a Bluetooth interface,and/or other interfaces. For example, a cellular network interface mayprovide support for GSM-based cellular networks, LTE-based cellularnetworks, code division multiple access (CDMA)-based cellular networks,and/or other cellular networks. The network interface(s) 625 may includea communication device such as a transmitter, receiver, transceiver,modem, and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via thenetwork(s) 665.

The link 640 couples (e.g., connects) to the input device interface(s)630. The input device interface(s) 630 may couple the electronic system600 to one or more input devices 670. The input device(s) 670 may enablea user to provide (e.g., enter) data and commands to the electronicsystem 600. For example, the user may be an operator of the vehicle 105when the electronic system 600 is disposed in the vehicle 105 or whenthe electronic system 600 is a control device (e.g., the user device110) of the vehicle 105. The input device(s) 670 may include, forexample, an audio sensor, a microphone, a camera (still or video), avoice recognition system, a keyboard (e.g., a physical or virtualkeyboard), a cursor control device (e.g., a mouse), a touchscreen,and/or other devices for providing user input to the electronic system600. Also, many systems, such as the electronic system 600, can allow auser to provide data and commands using physical gestures, such as, butnot limited to, hand or body movements, facial expressions, and facerecognition. In this regard, the user input may be received in any form,such as audio (e.g., speech), visual, and/or tactile. For example, in anaspect, to adjust a vehicle functionality profile applied to a vehicle(e.g., the vehicle 105), a user device (e.g., the user device 110) thatis, includes, or is a part of the electronic system 600, the user mayselect a vehicle functionality profile via a mouse communicativelyconnected to the electronic system 600 via the input device interface(s)630. The selection via a mouse click may be relayed to the processor(s)605 via the input device interface(s) 630 and the link 640. Theprocessor(s) 605 may process the selection into commands to adjust thevehicle functionality profile applied to the vehicle.

The link 640 couples (e.g., connects) to the output device interface(s)635. The output device interface(s) 635 may couple the electronic system600 to one or more output devices 675. The output device interface(s)635 may include a graphics and/or audio driver card, graphics and/oraudio driver chip, and/or graphics and/or audio driver processor. Theoutput device(s) 675 may enable the electronic system 600 to provideoutput information to a user. The output device(s) 675 may include, forexample, display devices (e.g., a light emitting diode (LED), an organicLED (OLED), a liquid crystal display (LCD)), audio devices (e.g.,speakers), audiovisual devices (e.g., augmented reality (AR) devices,virtual reality (VR) devices), and/or other output devices. In thisregard, the output information may provide feedback to the user in anyform, such as visual feedback, auditory feedback, and/or tactilefeedback. For example, in an aspect, a vehicle (e.g., the vehicle 105)that is, includes, or is a part of the electronic system 600 may provideoperational characteristics, such as remaining battery power, remainingfuel level, remaining actions to be performed, current position,component health (e.g., engine health, battery health), to a displaycoupled to the vehicle (e.g., wired or wirelessly coupled) via theoutput device interface(s) 635 and viewable by the user.

In one or more embodiments, FIG. 5 illustrates example machine readableinstructions for the vehicle 105 and/or the vehicle management system150. In these examples, the machine readable instructions may includeone or more programs for execution by one or more processors, such asthe processor(s) 605 shown in the electronic system 600. The one or moreprograms, or portion(s) thereof, may be embodied in software stored on atangible computer readable storage medium, such as a compact disk (CD),a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-raydisc™, and/or other storage device/disk storing the software and/orfirmware associated with the processor(s) 605, but the entire program orprograms and/or portions thereof may alternatively be executed by adevice other than the processor(s) 1005, and/or embodied in firmware ordedicated hardware (e.g., implemented by one or more analog and/ordigital circuit, application specific integrated circuits (ASICs),programmable logic devices (PLDs), and/or field programmable logicdevices (FPLDs), discrete logic, etc.). Further, although the exampleprogram(s) is described with reference to the flow diagram illustratedin FIG. 5, many other methods may be used. For example, with referenceto the flow diagrams illustrated in FIG. 5, the order of execution ofthe blocks may be changed, and/or some of the blocks described may bechanged, removed, combined, and/or subdivided into multiple blocks.

The example process 500 of FIG. 5 may be implemented using codedinstructions (e.g., computer and/or machine readable instructions)stored on a tangible computer readable storage medium such as a harddisk drive, flash memory, ROM, RAM, CD, DVD, cache and/or any otherstorage device or storage disk in which information is stored for anyduration (e.g., for extended time periods, permanently, for briefinstances, for temporarily buffering, and/or for caching of theinformation). Alternatively or in addition, the example process 500 ofFIG. 5 may be implemented using coded instructions (e.g., computerand/or machine readable instructions) stored on a non-transitorycomputer and/or machine readable medium such as a hard disk drive, flashmemory, ROM, RAM, CD, DVD, cache and/or any other storage device orstorage disk in which information is stored for any duration (e.g., forextended time periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterms “tangible computer readable storage medium” and “non-transitorycomputer readable medium” are expressly defined to include any type ofcomputer readable storage device and/or storage disk and to excludepropagating signals and to exclude transmission media. As used herein,“tangible computer readable storage medium” and “tangible machinereadable storage medium” are used interchangeably.

At least some of the above described example methods and/or apparatusare implemented by one or more software and/or firmware programs runningon a computer processor. However, dedicated hardware implementationsincluding, but not limited to, application specific integrated circuits,programmable logic arrays and other hardware devices can likewise beconstructed to implement some or all of the example methods and/orapparatus described herein, either in whole or in part. Furthermore,alternative software implementations including, but not limited to,distributed processing or component/object distributed processing,parallel processing, or virtual machine processing can also beconstructed to implement the example methods and/or apparatus describedherein.

To the extent the above specification describes example components andfunctions with reference to particular standards and protocols, it isunderstood that the scope of the present disclosure is not limited tosuch standards and protocols. For instance, each of the standards forInternet and other packet switched network transmission (e.g.,Transmission Control Protocol (TCP)/Internet Protocol (IP), UserDatagram Protocol (UDP)/IP, Hypertext Markup Language (HTML), HypertextTransfer Protocol (HTTP)) represent examples of the current state of theart. Such standards are periodically superseded by faster or moreefficient equivalents having the same general functionality.Accordingly, replacement standards and protocols having the samefunctions are equivalents which are contemplated by the presentdisclosure and are intended to be included within the scope of theaccompanying claims.

Additionally, although embodiments of the present disclosure provideexample systems including software or firmware executed on hardware, itshould be noted that such systems are merely illustrative and should notbe considered as limiting. For example, it is contemplated that any orall of these hardware and software components could be embodiedexclusively in hardware, exclusively in software, exclusively infirmware or in some combination of hardware, firmware and/or software.Accordingly, while the foregoing provides example systems, methods, andarticles of manufacture, the examples are not the only way to implementsuch systems, methods, and articles of manufacture. Therefore, althoughcertain example methods, apparatus, and articles of manufacture havebeen described herein, the scope of coverage of the present disclosureis not limited thereto. On the contrary, the present disclosure coversall methods, apparatus, and articles of manufacture fairly fallingwithin the scope of the claims either literally or under the doctrine ofequivalents.

What is claimed is:
 1. A method, comprising: determining, by a vehiclecomprising a processor, that a user identity has vehicle profile settingprivileges for the vehicle; and determining, by the vehicle, whether avehicle profile associated with the user identity is able to be appliedto the vehicle to adjust an operating parameter of the vehicle.
 2. Themethod of claim 1, further comprising: in response to determining thatthe vehicle profile is unable to be applied to the vehicle to adjust theoperating parameter of the vehicle: transmitting, by the vehicle to auser equipment associated with the user identity, a group of vehicleprofiles that is able to be applied to the vehicle; receiving, by thevehicle from the user equipment, a selected vehicle profile from thegroup; and applying, by the vehicle, the selected vehicle profile to thevehicle to adjust the operating parameter of the vehicle.
 3. The methodof claim 1, wherein the user identity is a first user identity, and thevehicle profile is a first vehicle profile comprising a first ridepreference associated with the first user identity, and furthercomprising, in response to determining that the first vehicle profile isunable to be applied to the vehicle: receiving, by the vehicle, a secondvehicle profile comprising a second ride preference associated with asecond user identity; and applying the second vehicle profile, the firstride preference, and the second ride preference to adjust the operatingparameter of the vehicle.
 4. The method of claim 1, further comprising:in response to determining that the vehicle profile is able to beapplied to the vehicle, applying, by the vehicle, the vehicle profile tothe vehicle to adjust the operating parameter of the vehicle.
 5. Themethod of claim 4, wherein the user identity is a first user identity,and the vehicle profile is a first vehicle profile, and furthercomprising: in response to determining, by the vehicle, that a distancebetween the vehicle and a user equipment associated with a second useridentity is within a threshold distance, removing, by the vehicle, thefirst vehicle profile from being applied to the vehicle, and applying,by the vehicle, a second vehicle profile associated with the second useridentity to the vehicle to adjust the operating parameter of thevehicle.
 6. The method of claim 1, wherein the determining that the useridentity has vehicle profile setting privileges for the vehicle is basedon data indicative of the user identity received from a user equipmentvia near field communication.
 7. The method of claim 1, wherein thedetermining whether the vehicle profile is able to be applied to thevehicle comprises: in response to determining that applying the vehicleprofile to adjust the operating parameter of the vehicle likely willcause damage to the vehicle according to a defined likelihood criterion,determining that the vehicle profile is unable to be applied to thevehicle.
 8. A system, comprising: a processor; and a memory that storesexecutable instructions that, when executed by the processor, facilitateperformance of operations, comprising: determining that a user identityhas vehicle profile setting privileges for a vehicle; and determiningwhether a vehicle profile associated with the user identity is able tobe applied to the vehicle to configure an operation of the vehicle. 9.The system of claim 8, wherein the operations further comprise: inresponse to determining that the vehicle profile is unable to be appliedto the vehicle to configure the operation of the vehicle: sending, to auser device associated with the user identity, vehicle profiles that areable to be applied to the vehicle; receiving, from the user device, aselected vehicle profile from the vehicle profiles; and applying theselected vehicle profile to the vehicle to configure the operation ofthe vehicle.
 10. The system of claim 8, wherein the user identity is afirst user identity, and the vehicle profile is a first vehicle profilecomprising a first ride preference associated with the first useridentity, and further comprising, in response to determining that thefirst vehicle profile is unable to be applied to the vehicle: receivinga second vehicle profile comprising a second ride preference associatedwith a second user identity; and applying the second vehicle profile,the first ride preference, and the second ride preference to configurethe operation of the vehicle.
 11. The system of claim 8, wherein theoperations further comprise: in response to determining that the vehicleprofile is able to be applied to the vehicle, applying the vehicleprofile to the vehicle to configure the operation of the vehicle. 12.The system of claim 11, wherein the user identity is a first useridentity, the vehicle profile is a first vehicle profile, and theoperations further comprise: in response to determining, by the vehicle,that a distance between the vehicle and a user device associated with asecond user identity is within a threshold distance, removing, by thevehicle, the application of the first vehicle profile to the vehicle,and applying, by the vehicle, a second vehicle profile associated withthe second user identity to the vehicle to configure the operation ofthe vehicle.
 13. The system of claim 8, wherein the determining that theuser identity has vehicle profile setting privileges for the vehiclecomprises receiving, via near field communication from a user equipment,data indicative of the user identity.
 14. The system of claim 8, whereinthe determining whether the vehicle profile is able to be applied to thevehicle comprises: in response to determining that applying the vehicleprofile to configure the operation of the vehicle is threshold likely tocause damage to the vehicle, rejecting the vehicle profile forapplication to the vehicle.
 15. A non-transitory machine-readablemedium, comprising executable instructions that, when executed by aprocessor of vehicular equipment of a vehicle, facilitate performance ofoperations, comprising: determining that a user identity has vehicleprofile setting privileges for the vehicle; and determining whether avehicle profile associated with the user identity is able to be appliedto the vehicle to modify an operation of the vehicle.
 16. Thenon-transitory machine-readable medium of claim 15, wherein theoperations further comprise: in response to determining that the vehicleprofile is unable to be applied to the vehicle to modify the operationof the vehicle: presenting vehicle profiles that are able to be appliedto the vehicle; receiving a selection of a selected vehicle profile fromthe vehicle profiles, wherein the selected vehicle profile is not thevehicle profile; and applying the selected vehicle profile to thevehicle to configure the operation of the vehicle.
 17. Thenon-transitory machine-readable medium of claim 15, wherein the useridentity is a first user identity, the vehicle profile is a firstvehicle profile comprising a first ride preference associated with thefirst user identity, and the operations further comprise, in response todetermining that the first vehicle profile is unable to be applied tothe vehicle: receiving a second vehicle profile comprising a second ridepreference associated with a second user identity; and applying thesecond vehicle profile, the first ride preference, and the second ridepreference to modify the operation of the vehicle.
 18. Thenon-transitory machine-readable medium of claim 15, wherein theoperations further comprise: in response to determining that the vehicleprofile is able to be applied to the vehicle, applying the vehicleprofile to the vehicle to modify the operation of the vehicle.
 19. Thenon-transitory machine-readable medium of claim 18, wherein the useridentity is a first user identity, and the vehicle profile is a firstvehicle profile, and the operations further comprise: in response todetermining that a distance between the vehicle and a mobile deviceassociated with a second user identity is within a threshold distance,removing the the first vehicle profile from being applied to thevehicle, and applying a second vehicle profile associated with thesecond user identity to the vehicle to modify the operation of thevehicle.
 20. The non-transitory machine-readable medium of claim 15,wherein the determining whether the vehicle profile is able to beapplied to the vehicle comprises: in response to determining thatapplying the vehicle profile to modify the operation of the vehicle willcause damage to the vehicle based on a past modification that appliedthe vehicle profile to a different vehicle that resulted in damaging thedifferent vehicle, denying the vehicle profile for application to thevehicle.